[oe] [PATCH][STABLE] procps: added 3.2.8 and dropped older

Marcin Juszkiewicz marcin at juszkiewicz.com.pl
Mon Mar 22 11:05:24 UTC 2010


This version no longer complain about unknown Hz value during boot.

Signed-off-by: Marcin Juszkiewicz <marcin at juszkiewicz.com.pl>
---
 recipes/procps/procps-3.1.15/install.patch         |   16 -
 recipes/procps/procps-3.1.15/procps_3.1.15-2.diff  | 5133 --------------------
 recipes/procps/procps-3.2.1/install.patch          |   16 -
 .../procps/procps-3.2.5/pagesz-not-constant.patch  |   22 -
 recipes/procps/procps-3.2.7/install.patch          |   27 -
 .../procps/procps-3.2.7/pagesz-not-constant.patch  |   22 -
 recipes/procps/procps-3.2.7/procmodule.patch       |   36 -
 recipes/procps/procps-3.2.7/psmodule.patch         |   21 -
 .../{procps-3.2.5 => procps-3.2.8}/install.patch   |    0
 .../linux-limits.patch                             |    0
 .../pagesz-not-constant.patch                      |    0
 .../procmodule.patch                               |    0
 .../{procps-3.2.7 => procps-3.2.8}/procps.init     |    0
 .../{procps-3.2.5 => procps-3.2.8}/psmodule.patch  |    0
 .../{procps-3.2.7 => procps-3.2.8}/sysctl.conf     |    0
 recipes/procps/procps.inc                          |   61 +-
 recipes/procps/procps_3.1.15.bb                    |    9 -
 recipes/procps/procps_3.2.1.bb                     |   11 -
 recipes/procps/procps_3.2.5.bb                     |   45 -
 recipes/procps/procps_3.2.7.bb                     |   67 -
 recipes/procps/procps_3.2.8.bb                     |   11 +
 21 files changed, 69 insertions(+), 5428 deletions(-)
 delete mode 100644 recipes/procps/procps-3.1.15/install.patch
 delete mode 100644 recipes/procps/procps-3.1.15/procps_3.1.15-2.diff
 delete mode 100644 recipes/procps/procps-3.2.1/install.patch
 delete mode 100644 recipes/procps/procps-3.2.5/pagesz-not-constant.patch
 delete mode 100644 recipes/procps/procps-3.2.7/install.patch
 delete mode 100644 recipes/procps/procps-3.2.7/pagesz-not-constant.patch
 delete mode 100644 recipes/procps/procps-3.2.7/procmodule.patch
 delete mode 100644 recipes/procps/procps-3.2.7/psmodule.patch
 rename recipes/procps/{procps-3.2.5 => procps-3.2.8}/install.patch (100%)
 rename recipes/procps/{procps-3.2.7 => procps-3.2.8}/linux-limits.patch (100%)
 rename recipes/procps/{procps-3.2.1 => procps-3.2.8}/pagesz-not-constant.patch (100%)
 rename recipes/procps/{procps-3.2.5 => procps-3.2.8}/procmodule.patch (100%)
 rename recipes/procps/{procps-3.2.7 => procps-3.2.8}/procps.init (100%)
 rename recipes/procps/{procps-3.2.5 => procps-3.2.8}/psmodule.patch (100%)
 rename recipes/procps/{procps-3.2.7 => procps-3.2.8}/sysctl.conf (100%)
 delete mode 100644 recipes/procps/procps_3.1.15.bb
 delete mode 100644 recipes/procps/procps_3.2.1.bb
 delete mode 100644 recipes/procps/procps_3.2.5.bb
 delete mode 100644 recipes/procps/procps_3.2.7.bb
 create mode 100644 recipes/procps/procps_3.2.8.bb

diff --git a/recipes/procps/procps-3.1.15/install.patch b/recipes/procps/procps-3.1.15/install.patch
deleted file mode 100644
index 2d16c26..0000000
--- a/recipes/procps/procps-3.1.15/install.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- procps-3.1.15/Makefile~install	2003-12-24 03:01:55.000000000 +0100
-+++ procps-3.1.15/Makefile	2004-02-11 00:45:59.000000000 +0100
-@@ -147,7 +147,7 @@
- ###### install
- 
- $(BINFILES) : all
--	$(install) --mode a=rx --strip $(notdir $@) $@
-+	$(install) --mode a=rx $(notdir $@) $@
- 
- $(MANFILES) : all
- 	$(install) --mode a=r $(notdir $@) $@
diff --git a/recipes/procps/procps-3.1.15/procps_3.1.15-2.diff b/recipes/procps/procps-3.1.15/procps_3.1.15-2.diff
deleted file mode 100644
index 438fd0f..0000000
--- a/recipes/procps/procps-3.1.15/procps_3.1.15-2.diff
+++ /dev/null
@@ -1,5133 +0,0 @@
---- procps-3.1.15.orig/proc/library.map
-+++ procps-3.1.15/proc/library.map
-@@ -4,7 +4,7 @@
- 
-   readproc; readtask; readproctab; readproctab2; look_up_our_self; escape_command;
-   escape_str; escape_strlist;
--  openproc; closeproc;
-+  openproc; closeproc; freeproc;
-   tty_to_dev; dev_to_tty; open_psdb_message; open_psdb; wchan;
-   display_version; procps_version; linux_version_code;
-   Hertz; smp_num_cpus;
---- procps-3.1.15.orig/proc/readproc.c
-+++ procps-3.1.15/proc/readproc.c
-@@ -162,7 +162,7 @@
-         // examine a field name (hash and compare)
-     base:
-         if(unlikely(!*S)) break;
--        entry = table[63 & (asso[S[3]] + asso[S[2]] + asso[S[0]])];
-+        entry = table[63 & (asso[(int)S[3]] + asso[(int)S[2]] + asso[(int)S[0]])];
-         colon = strchr(S, ':');
-         if(unlikely(!colon)) break;
-         if(unlikely(colon[1]!='\t')) break;
-@@ -888,6 +888,8 @@
-     else
- 	PT = openproc(flags);
-     va_end(ap);
-+    if (!PT)
-+      return 0;
-     do {					/* read table: */
- 	tab = xrealloc(tab, (n+1)*sizeof(proc_t*));/* realloc as we go, using */
- 	tab[n] = readproc_direct(PT, NULL);     /* final null to terminate */
---- procps-3.1.15.orig/proc/module.mk
-+++ procps-3.1.15/proc/module.mk
-@@ -3,7 +3,7 @@
- # for lib$(NAME).so and /usr/include/($NAME) and such
- NAME      :=  proc
- 
--SHARED := 1
-+SHARED ?= 1
- 
- SONAME    :=  lib$(NAME).so.$(LIBVERSION)
- 
---- procps-3.1.15.orig/debian/README.Debian
-+++ procps-3.1.15/debian/README.Debian
-@@ -0,0 +1,22 @@
-+README for Debian package of procps
-+===================================
-+
-+XConsole gone
-+-------------
-+ XConsole and other X-based programs have been finally removed.  Look in
-+ the x packages for their equivalents.
-+
-+pgrep
-+-----
-+pgrep is a new program, using the Unix standard name for something that
-+greps for processes.  If you are looking for Perl compatible regular
-+expression grep, it is called pcregrep.
-+
-+forks
-+-----
-+Procps upstream is forked.  This one comes from procps.sf.net  I'm really
-+not interested when the others have new versions so please don't bug me about
-+it.  However if you see something neat in the others and would like it in
-+the Debian one, report a *wishlist* level bug about it.
-+
-+ Craig Small <csmall at debian.org>
---- procps-3.1.15.orig/debian/copyright
-+++ procps-3.1.15/debian/copyright
-@@ -0,0 +1,27 @@
-+This is the Debian Linux prepackaged version of the /proc file
-+system utilities.
-+
-+This package was downloaded from:
-+  http://procps.sourceforge.net/
-+
-+
-+Upstream Authors:
-+Werner Almesberger <almesber at di.epfl.ch>, Roger Binns, Charles
-+Blake <cblake at ucsd.edu>, Brian Edmonds, David Engel <david at ods.com>,
-+Larry Greenfield <greenfie at gauss.rutgers.edu>, Michael K. Johnson
-+<johnsonm at sunsite.unc.edu>, Branko Lankester <lankeste at fwi.uva.nl>,
-+Robert Nation <nation at rocket.sanders.lockheed.com>, Michael Shields
-+<mjshield at nyx.cs.du.edu>, Henry Ware <al172 at yfn.ysu.edu>, Matt
-+Welsh <mdw at sunsite.unc.edu>, Albert D. Cahalan and Jim C. Warner
-+<warnerjc at worldnet.att.net>
-+
-+All programs except ps, skill and snice are copyright by their
-+authors and redistributable under the terms of the GNU General
-+Public License. On Debian Linux systems, the complete text of
-+the GNU General Public License can be found in
-+`/usr/share/common-licenses/GPL'.
-+
-+ps, skill and snice are copyright by their authors and redistributable under 
-+the terms of the GNU Library General Public License. On Debian Linux 
-+systems, the complete text of the GNU Library General Public License can 
-+be found in `/usr/share/common/licenses/LGPL'.
---- procps-3.1.15.orig/debian/dirs
-+++ procps-3.1.15/debian/dirs
-@@ -0,0 +1,12 @@
-+etc
-+lib
-+sbin
-+bin
-+usr/bin
-+usr/sbin
-+usr/lib
-+usr/include/proc
-+usr/share/man/man1
-+usr/share/man/man5
-+usr/share/man/man8
-+
---- procps-3.1.15.orig/debian/docs
-+++ procps-3.1.15/debian/docs
-@@ -0,0 +1,4 @@
-+BUGS
-+TODO
-+README.top
-+
---- procps-3.1.15.orig/debian/examples
-+++ procps-3.1.15/debian/examples
-@@ -0,0 +1,2 @@
-+debian/sysctl.conf
-+
---- procps-3.1.15.orig/debian/libproc-dev.dirs
-+++ procps-3.1.15/debian/libproc-dev.dirs
-@@ -0,0 +1,2 @@
-+usr/lib
-+usr/include/proc
---- procps-3.1.15.orig/debian/menu
-+++ procps-3.1.15/debian/menu
-@@ -0,0 +1 @@
-+?package(procps):needs=text section="Apps/System" title="Top" command="/usr/bin/top" hints="Monitoring"
---- procps-3.1.15.orig/debian/postinst
-+++ procps-3.1.15/debian/postinst
-@@ -0,0 +1,74 @@
-+#!/bin/sh
-+# postinst script for procps
-+#
-+# see: dh_installdeb(1)
-+
-+set -e
-+
-+# summary of how this script can be called:
-+#        * <postinst> `configure' <most-recently-configured-version>
-+#        * <old-postinst> `abort-upgrade' <new version>
-+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
-+#          <new-version>
-+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
-+#          <failed-install-package> <version> `removing'
-+#          <conflicting-package> <version>
-+# for details, see http://www.debian.org/doc/debian-policy/ or
-+# the debian-policy package
-+#
-+# quoting from the policy:
-+#     Any necessary prompting should almost always be confined to the
-+#     post-installation script, and should be protected with a conditional
-+#     so that unnecessary prompting doesn't happen if a package's
-+#     installation fails and the `postinst' is called with `abort-upgrade',
-+#     `abort-remove' or `abort-deconfigure'.
-+
-+case "$1" in
-+    configure)
-+		if [ -e /etc/psdevtab ] ; then
-+			rm -f /etc/psdevtab
-+		fi
-+		if [ -e /etc/psdatabase ] 
-+		then
-+			rm -f /etc/psdatabase
-+		fi
-+		# Remove old /etc/init.d/procps file, Bug #53818
-+		if [ -e /etc/init.d/procps ]
-+		then
-+			rm -f /etc/init.d/procps
-+		fi
-+		# Remove old procps init.d script, if it exists Closes: #55137
-+		if [ -e /etc/rcS.d/S30procps ]
-+		then
-+			update-rc.d procps remove >/dev/null
-+		fi
-+		# and if that didn't work Closes: #92184
-+		if [ -e /etc/rcS.d/S30procps ]
-+		then
-+			rm -f /etc/rcS.d/S30procps
-+		fi
-+		#
-+		# Now to do the alternatives for w and ps
-+		update-alternatives --install /usr/bin/w w /usr/bin/w.procps 50 \
-+			--slave /usr/share/man/man1/w.1.gz w.1.gz /usr/share/man/man1/w.procps.1.gz
-+		
-+    ;;
-+
-+    abort-upgrade|abort-remove|abort-deconfigure)
-+
-+    ;;
-+
-+    *)
-+        echo "postinst called with unknown argument \`$1'" >&2
-+        exit 1
-+    ;;
-+esac
-+
-+# dh_installdeb will replace this with shell code automatically
-+# generated by other debhelper scripts.
-+
-+#DEBHELPER#
-+
-+exit 0
-+
-+
---- procps-3.1.15.orig/debian/prerm
-+++ procps-3.1.15/debian/prerm
-@@ -0,0 +1,11 @@
-+#!/bin/sh
-+
-+if [ "$1" != "upgrade" ]
-+then
-+	update-alternatives --remove w /usr/bin/w.procps
-+fi
-+
-+#DEBHELPER#
-+
-+exit 0
-+
---- procps-3.1.15.orig/debian/sysctl.conf
-+++ procps-3.1.15/debian/sysctl.conf
-@@ -0,0 +1,6 @@
-+#
-+# /etc/sysctl.conf - Configuration file for setting system variables
-+# See sysctl.conf (5) for information.
-+#
-+#kernel.domainname = example.com
-+#net/ipv4/icmp_echo_ignore_broadcasts=1
---- procps-3.1.15.orig/debian/watch
-+++ procps-3.1.15/debian/watch
-@@ -0,0 +1,6 @@
-+# Example watch control file for uscan
-+# Rename this file to "watch" and then you can run the "uscan" command
-+# to check for upstream updates and more.
-+# Site		Directory		Pattern			Version	Script
-+sunsite.unc.edu	/pub/Linux/Incoming	procps-*.tar.gz	debian	uupdate
-+
---- procps-3.1.15.orig/debian/procps.sh
-+++ procps-3.1.15/debian/procps.sh
-@@ -0,0 +1,40 @@
-+#! /bin/sh
-+# /etc/init.d/procps: Set kernel variables from /etc/sysctl.conf
-+#
-+# written by Elrond <Elrond at Wunder-Nett.org>
-+
-+# Check for existance of the default file and exit if not there,
-+# Closes #52839 for the boot-floppy people
-+[ -r /etc/default/rcS ] || exit 0
-+. /etc/default/rcS
-+
-+[ -x /sbin/sysctl ] || exit 0
-+
-+
-+case "$1" in
-+       start|reload|restart|force-reload)
-+               if [ ! -r /etc/sysctl.conf ]
-+               then
-+                       exit 0
-+               fi
-+               if [ "$VERBOSE" = "no" ]
-+               then
-+                       n="-n"
-+                       redir=">/dev/null"
-+               else
-+                       echo -n "Setting kernel variables."
-+                       n=""
-+                       redir=""
-+               fi
-+               eval "/sbin/sysctl $n -p $redir"
-+			   echo "."
-+               ;;
-+       stop|show)
-+               ;;
-+       *)
-+               echo "Usage: /etc/init.d/procps.sh {start|stop|reload|restart}" >&2
-+               exit 1
-+               ;;
-+esac
-+
-+
---- procps-3.1.15.orig/debian/procps.manpages
-+++ procps-3.1.15/debian/procps.manpages
-@@ -0,0 +1 @@
-+ps/ps.1
---- procps-3.1.15.orig/debian/compat
-+++ procps-3.1.15/debian/compat
-@@ -0,0 +1 @@
-+4
---- procps-3.1.15.orig/debian/libproc-dev.files
-+++ procps-3.1.15/debian/libproc-dev.files
-@@ -0,0 +1,2 @@
-+usr/include/proc/*.h
-+lib/libproc.so
---- procps-3.1.15.orig/debian/libproc-dev.README
-+++ procps-3.1.15/debian/libproc-dev.README
-@@ -0,0 +1,12 @@
-+README for libproc-dev
-+======================
-+
-+This README is for people who want to use the libraries for their own
-+programs.  If you just want to use procps tools you don't need to use this
-+and you can probably remove libproc-dev too.
-+
-+It is generally a bad idea to dynamically link to libproc.  The API changes
-+a fair bit and I cannot guarantee that it will stay the same between minor
-+versions (though it will stay the same between Debian versions).  I've now
-+re-included the libproc.a file so use that.
-+
---- procps-3.1.15.orig/debian/patches/20_procps-fix+attr.dpatch
-+++ procps-3.1.15/debian/patches/20_procps-fix+attr.dpatch
-@@ -0,0 +1,55 @@
-+#! /bin/sh -e
-+## 20_procps-fix++attr by someone
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: SELINUX Attr value in /proc
-+
-+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-+
-+if [ $# -ne 1 ]; then
-+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-+    exit 1
-+fi
-+case "$1" in
-+       -patch) patch $patch_opts -p1 < $0;;
-+       -unpatch) patch $patch_opts -p1 -R < $0;;
-+        *)
-+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-+ent"
-+                exit 1;;
-+esac
-+
-+exit 0
-+ at DPATCH@
-+diff -urN procps-3.1.15/ps/output.c procps-3.1.15.new/ps/output.c
-+--- procps-3.1.15/ps/output.c	2003-12-23 19:46:32.000000000 -0600
-++++ procps-3.1.15.new/ps/output.c	2003-12-24 13:31:16.000000000 -0600
-+@@ -944,7 +944,7 @@
-+ 
-+ // wchan file is suitable for testing
-+ //snprintf(filename, sizeof filename, "/proc/%d/task/%d/wchan", pp->tgid, pp->tid);
-+-  snprintf(filename, sizeof filename, "/proc/%d/task/%d/attr/current", pp->tgid, pp->tid);
-++  snprintf(filename, sizeof filename, "/proc/%d/attr/current", pp->tgid);
-+ 
-+   fd = open(filename, O_RDONLY, 0);
-+   if(likely(fd==-1)) goto fail;
-+diff -urN procps-3.1.15/ps/parser.c procps-3.1.15.new/ps/parser.c
-+--- procps-3.1.15/ps/parser.c	2003-12-23 17:58:06.000000000 -0600
-++++ procps-3.1.15.new/ps/parser.c	2003-12-24 13:45:08.000000000 -0600
-+@@ -315,12 +315,10 @@
-+       exclusive("-V");
-+       display_version();
-+       exit(0);
-+-#if 0
-+-    case 'Z':     /* full Mandatory Access Control level info */
-+-      trace("-Z shows full MAC info\n");
-+-      return "Don't understand MAC on Linux.";
-++    case 'Z':
-++      trace("-Z shows SELinux contexts\n");
-++      format_flags |= FF_Fc;
-+       break;
-+-#endif
-+     case 'a':
-+       trace("-a select all with a tty, but omit session leaders.\n");
-+       simple_select |= SS_U_a;
---- procps-3.1.15.orig/debian/patches/20_ps.1.dpatch
-+++ procps-3.1.15/debian/patches/20_ps.1.dpatch
-@@ -0,0 +1,376 @@
-+#! /bin/sh -e
-+## 20_ps.1.dpatch by Craig Small <csmall at debian.org>
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Fix ps manual page
-+
-+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-+
-+if [ $# -ne 1 ]; then
-+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-+    exit 1
-+fi
-+case "$1" in
-+       -patch) patch $patch_opts -p1 < $0;;
-+       -unpatch) patch $patch_opts -p1 -R < $0;;
-+        *)
-+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-+ent"
-+                exit 1;;
-+esac
-+
-+exit 0
-+ at DPATCH@
-+--- procps-3.1.15/ps/ps.1	2003-12-24 12:59:47.000000000 +1100
-++++ procps-3.1.15.newps/ps.1	2003-12-26 18:05:01.000000000 +1100
-+@@ -1,3 +1,5 @@
-++'\" t
-++.\" (The preceding line is a note to broken versions of man to tell
-+ .\" Man page for ps.
-+ .\" Quick hack conversion by Albert Cahalan, 1998.
-+ .\" Licensed under version 2 of the Gnu General Public License.
-+@@ -10,8 +12,8 @@
-+ .\" invented this crap in 1973. Oh yeah, they did. Sorry.
-+ .\"
-+ .TH PS 1 "July 5, 1998" "Linux" "Linux User's Manual"
-+-.SH \fRNAME\fR
-+-ps \- report process status
-++.SH NAME
-++ps \- report a snapshot of the current processes.
-+ .ad r
-+ .na
-+ .ss 12 0
-+@@ -19,17 +21,17 @@
-+ .nh
-+ .nf
-+ 
-+-SYNOPSIS
-++.SH SYNOPSIS
-+ ps [options]
-+ 
-+ 
-+-DESCRIPTION
-++.SH DESCRIPTION
-+ ps gives a snapshot of the current processes. If you want
-+ a repetitive update of this status, use top. This man
-+ page documents the /proc-based version of ps, or tries to.
-+ 
-+ 
-+-COMMAND-LINE OPTIONS
-++.SH "COMMAND-LINE OPTIONS"
-+ 
-+ This version of ps accepts several kinds of options.
-+ 
-+@@ -43,7 +45,9 @@
-+ when options are preceeded by a dash. The PS_PERSONALITY environment
-+ variable (described below) provides more detailed control of ps behavior.
-+ 
-+-SIMPLE PROCESS SELECTION
-++.SH "SIMPLE PROCESS SELECTION"
-++.TS
-++l l.
-+ -A           select all processes
-+ -N           negate selection
-+ -a           select all with a tty except session leaders
-+@@ -55,8 +59,11 @@
-+ r            restrict output to running processes
-+ x            select processes without controlling ttys
-+ --deselect   negate selection
-++.TE
-+ 
-+-PROCESS SELECTION BY LIST
-++.SH "PROCESS SELECTION BY LIST"
-++.TS
-++l l.
-+ -C           select by command name
-+ -G           select by RGID (supports names)
-+ -U           select by RUID (supports names)
-+@@ -78,8 +85,10 @@
-+ --user       select by effective user name or ID
-+ -123         implied --sid
-+ 123          implied --pid
-+-
-+-OUTPUT FORMAT CONTROL
-++.TE
-++.SH "OUTPUT FORMAT CONTROL"
-++.TS
-++l l.
-+ -O           is preloaded "-o"
-+ -F           extra full format
-+ -c           different scheduler info for -l option
-+@@ -98,8 +107,10 @@
-+ v            display virtual memory format
-+ --format     user-defined format
-+ --context    display security context format (NSA SELinux, etc.)
-+-
-+-OUTPUT MODIFIERS
-++.TE
-++.SH "OUTPUT MODIFIERS"
-++.TS
-++l l.
-+ -H           show process hierarchy (forest)
-+ -n           set namelist file
-+ -w           wide output
-+@@ -123,31 +134,40 @@
-+ --rows       set screen height
-+ --sort       specify sorting order
-+ --width      set screen width
-+-
-+-THREAD DISPLAY
-++.TE
-++.SH "THREAD DISPLAY"
-++.TS
-++l l.
-+ -L           show threads, possibly with LWP and NLWP columns
-+ -T           show threads, possibly with SPID column
-+ -m           show threads after processes
-+ H            show threads as if they were processes
-+ m            show threads after processes
-++.TE
-+ 
-+-INFORMATION
-++.SH INFORMATION
-++
-++.TS
-++l l.
-+ -V          print version
-+ L           list all format specifiers
-+ V           show version info
-+ --help      print help message
-+ --info      print debugging info
-+ --version   print version
-++.TE
-++
-++.SH OBSOLETE
-+ 
-+-OBSOLETE
-++.TS
-++l l.
-+ A           increases the argument space (DecUnix)
-+ M           use alternate core (try -n or N instead)
-+ W           get swap info from ... not /dev/drum (try -n or N instead)
-+ k           use /vmcore as c-dumpfile (try -n or N instead)
-+-
-+-
-+-
-+-NOTES
-++.TE
-++  
-++.SH NOTES
-+ 
-+ User-defined format options ("o", "-o", "O", and "-O") offer
-+ a way to specify individual output columns. Headers may be
-+@@ -249,14 +269,17 @@
-+ will be destroyed by init(8) if the parent process exits.
-+ 
-+ 
-+-PROCESS FLAGS
-+-
-++.SH "PROCESS FLAGS"
-++.TS
-++l l l.
-+ FORKNOEXEC   1    forked but didn't exec
-+ SUPERPRIV    4    used super-user privileges
-++.TE
-+ 
-++.SH "PROCESS STATE CODES"
-+ 
-+-PROCESS STATE CODES
-+-
-++.TS
-++l l.
-+ D uninterruptible sleep (usually IO)
-+ R runnable (on run queue)
-+ S sleeping
-+@@ -264,23 +287,30 @@
-+ W paging
-+ X dead
-+ Z a defunct ("zombie") process
-++.TE
-+ 
-+ For BSD formats and when the "stat" keyword is used, additional
-+ letters may be displayed:
-+ 
-+-W has no resident pages
-+-< high-priority process
-+-N low-priority task
-+-L has pages locked into memory (for real-time and custom IO)
-++.IP W
-++has no resident pages
-++.IP <
-++high-priority process
-++.IP N
-++low-priority task
-++.IP L
-++has pages locked into memory (for real-time and custom IO)
-+ 
-+ 
-+-SORT KEYS
-++.SH "SORT KEYS"
-+ 
-+ Note that the values used in sorting are the internal values ps uses and not
-+ the `cooked' values used in some of the output format fields. Pipe ps
-+ output into the sort(1) command if you want to sort the cooked values.
-+ 
-+-KEY LONG       DESCRIPTION
-++.TS
-++l l l.
-++\fBKEY LONG       DESCRIPTION\fR
-+ c   cmd        simple name of executable
-+ C   cmdline    full command line
-+ f   flags      flags as in long format F field
-+@@ -307,14 +337,15 @@
-+ u   user       user name
-+ v   vsize      total VM size in kB
-+ y   priority   kernel scheduling priority
-++.TE
-+ 
-+-
-+-AIX FORMAT DESCRIPTORS
-++.SH "AIX FORMAT DESCRIPTORS"
-+ 
-+ This ps supports AIX format descriptors, which work somewhat like the
-+ formatting codes of printf(1) and printf(3). For example, the normal
-+ default output can be produced with this:   ps -eo "%p %y %x %c"
-+-
-++.TS
-++l l l.
-+ CODE  NORMAL    HEADER
-+ %C    pcpu      %CPU
-+ %G    group     GROUP
-+@@ -331,14 +362,16 @@
-+ %x    time      TIME
-+ %y    tty       TTY
-+ %z    vsz       VSZ
-++.TE
-+ 
-+-
-+-STANDARD FORMAT SPECIFIERS
-++.SH "STANDARD FORMAT SPECIFIERS"
-+ 
-+ These may be used to control both output format and sorting.
-+ For example:  ps -eo pid,user,args --sort user
-+ 
-+-CODE         HEADER
-++.TS
-++l l.
-++\fBCODE         HEADER\fR
-+ %cpu         %CPU    
-+ %mem         %MEM    
-+ alarm        ALARM   
-+@@ -459,25 +492,51 @@
-+ vsize        VSZ     
-+ vsz          VSZ     
-+ wchan        WCHAN   
-++.TE
-+ 
-++.SH "ENVIRONMENT VARIABLES"
-+ 
-+-
-+-
-+-ENVIRONMENT VARIABLES
-+ The following environment variables could affect ps:
-+-    COLUMNS             Override default display width.
-+-    LINES               Override default display height.
-+-    PS_PERSONALITY      Set to one of posix,old,linux,bsd,sun,digital...
-+-    CMD_ENV             Set to one of posix,old,linux,bsd,sun,digital...
-+-    I_WANT_A_BROKEN_PS  Force obsolete command line interpretation.
-+-    LC_TIME             Date format.
-+-    PS_COLORS           Not currently supported.
-+-    PS_FORMAT           Default output format override.
-+-    PS_SYSMAP           Default namelist (System.map) location.
-+-    PS_SYSTEM_MAP       Default namelist (System.map) location.
-+-    POSIXLY_CORRECT     Don't find excuses to ignore bad "features".
-+-    UNIX95              Don't find excuses to ignore bad "features".
-+-    _XPG                Cancel CMD_ENV=irix non-standard behavior.
-++
-++.TP 
-++.B COLUMNS
-++Override default display width.
-++.TP
-++.B LINES
-++Override default display height.
-++.TP
-++.B PS_PERSONALITY
-++Set to one of posix,old,linux,bsd,sun,digital...
-++.TP
-++.B CMD_ENV
-++Set to one of posix,old,linux,bsd,sun,digital...
-++.TP
-++.B I_WANT_A_BROKEN_PS
-++Force obsolete command line interpretation.
-++.TP
-++.B LC_TIME
-++Date format.
-++.TP
-++.B PS_COLORS
-++Not currently supported.
-++.TP
-++.B PS_FORMAT
-++Default output format override.
-++.TP
-++.B PS_SYSMAP
-++Default namelist (System.map) location.
-++.TP
-++.B PS_SYSTEM_MAP
-++Default namelist (System.map) location.
-++.TP
-++.B POSIXLY_CORRECT
-++Don't find excuses to ignore bad "features".
-++.TP
-++.B UNIX95
-++Don't find excuses to ignore bad "features".
-++.TP
-++.B _XPG
-++Cancel CMD_ENV=irix non-standard behavior.
-+ 
-+ In general, it is a bad idea to set these variables. The one exception
-+ is CMD_ENV or PS_PERSONALITY, which could be set to Linux for normal
-+@@ -485,7 +544,9 @@
-+ of the Unix98 standard.
-+ 
-+ 
-+-PERSONALITY
-++.SH "PERSONALITY"
-++.TS
-++l l.
-+     390      like the S/390 OpenEdition ps
-+     aix      like AIX ps
-+     bsd      like FreeBSD ps (totally non-standard)
-+@@ -507,9 +568,9 @@
-+     unix     standard
-+     unix95   standard
-+     unix98   standard
-++.TE
-+ 
-+-
-+-EXAMPLES
-++.SH "EXAMPLES"
-+ To see every process on the system using standard syntax:
-+     ps -e
-+ To see every process on the system using BSD syntax:
-+@@ -523,13 +584,13 @@
-+ Print only the process IDs of syslogd:
-+     ps -C syslogd -o pid=
-+ 
-+-SEE ALSO
-+-top(1) pgrep(1) pstree(1) proc(5)
-++.SH "SEE ALSO"
-++.BR top (1), pgrep (1), pstree (1),  proc (5).
-+ 
-+-STANDARDS
-++.SH STANDARDS
-+ This ps conforms to version 2 of the Single Unix Specification.
-+ 
-+-AUTHOR
-++.SH AUTHOR
-+ ps was originally written by Branko Lankester <lankeste at fwi.uva.nl>. Michael
-+ K. Johnson <johnsonm at redhat.com> re-wrote it significantly to use the proc
-+ filesystem, changing a few things in the process. Michael Shields
-+@@ -541,4 +602,4 @@
-+ <acahalan at cs.uml.edu> rewrote ps for full Unix98 and BSD support, along with
-+ some ugly hacks for obsolete and foreign syntax.
-+ 
-+-Please send bug reports to <acahalan at cs.uml.edu>
-++Please send bug reports to <procps-feedback at lists.sf.net>.
---- procps-3.1.15.orig/debian/patches/20_top_manpage.dpatch
-+++ procps-3.1.15/debian/patches/20_top_manpage.dpatch
-@@ -0,0 +1,384 @@
-+#! /bin/sh -e
-+## 20_top_manpage by Randy Hron
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Fix bold in top manual page
-+
-+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-+
-+if [ $# -ne 1 ]; then
-+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-+    exit 1
-+fi
-+case "$1" in
-+       -patch) patch $patch_opts -p1 < $0;;
-+       -unpatch) patch $patch_opts -p1 -R < $0;;
-+        *)
-+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-+ent"
-+                exit 1;;
-+esac
-+
-+exit 0
-+ at DPATCH@
-+--- procps/top.1.orig	2003-12-24 15:51:35.000000000 -0500
-++++ procps/top.1	2003-12-24 18:57:14.564156176 -0500
-+@@ -52,7 +52,7 @@
-+ .ds CF configuration file
-+ .ds CI interactive command
-+ .ds CO command\-line option
-+-.ds CW \'current' window
-++.ds CW 'current' window
-+ .ds FM full\-screen mode
-+ .ds MP \fBphysical\fR memory
-+ .ds MS \fBshared\fR memory
-+@@ -370,7 +370,7 @@
-+ The task's share of the elapsed \*(PU time since the last screen update, expressed
-+ as a percentage of total \*(PU time.
-+ In a true SMP environment, if 'Irix mode' is \*F, \*(Me will operate in
-+-\'Solaris mode' where a task's \*(Pu usage will be divided by the total
-++'Solaris mode' where a task's \*(Pu usage will be divided by the total
-+ number of \*(PUs.
-+ You toggle 'Irix/Solaris' modes with the 'I' \*(CI.
-+ 
-+@@ -498,7 +498,7 @@
-+ .\" ......................................................................
-+ .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.
-+ 
-+@@ -574,7 +574,7 @@
-+ 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.
-+@@ -583,7 +583,7 @@
-+ 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.
-+@@ -593,13 +593,13 @@
-+ 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
-+@@ -611,7 +611,7 @@
-+ 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.
-+ 
-+@@ -625,32 +625,32 @@
-+ 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.
-+@@ -661,24 +661,24 @@
-+    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.
-+@@ -694,25 +694,25 @@
-+ 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.
-+@@ -744,12 +744,12 @@
-+ .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
-+@@ -759,7 +759,7 @@
-+ 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.
-+@@ -768,7 +768,7 @@
-+ 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
-+@@ -779,20 +779,20 @@
-+ .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
-+-\ \ \'\fBS\fR\' :\fICumulative_Time_Mode_toggle\fR
-++\ \ \<\fBS\fR\> :\fICumulative_Time_Mode_toggle\fR
-+ When 'Cumulative mode' is \*O, each process is listed with the \*(Pu
-+ time that it and its dead children have used.
-+ 
-+@@ -808,7 +808,7 @@
-+ 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.
-+@@ -821,7 +821,7 @@
-+ .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.
-+ 
-+@@ -829,7 +829,7 @@
-+ 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.
-+ 
-+@@ -868,12 +868,12 @@
-+ .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.
-+ 
-+@@ -884,7 +884,7 @@
-+ .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.
-+ 
-+@@ -897,7 +897,7 @@
-+ 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
-+@@ -974,7 +974,7 @@
-+ .\" ......................................................................
-+ .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.
-+@@ -988,7 +988,7 @@
-+ 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.
-+@@ -999,7 +999,7 @@
-+ 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.
-+@@ -1007,7 +1007,7 @@
-+ 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
-+@@ -1018,7 +1018,7 @@
-+ 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.
-+ 
-+@@ -1027,15 +1027,15 @@
-+ 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
-+ 
-+
-+ .\" ----------------------------------------------------------------------
-+
-+
-+
-+
-+
-+
---- procps-3.1.15.orig/debian/patches/10_sysctl_quiet.dpatch
-+++ procps-3.1.15/debian/patches/10_sysctl_quiet.dpatch
-@@ -0,0 +1,119 @@
-+#! /bin/sh -e
-+## 10_sysctl_quiet by Simon Horman
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Adds quiet -q flag to sysctl
-+
-+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-+
-+if [ $# -ne 1 ]; then
-+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-+    exit 1
-+fi
-+case "$1" in
-+       -patch) patch $patch_opts -p1 < $0;;
-+       -unpatch) patch $patch_opts -p1 -R < $0;;
-+        *)
-+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-+ent"
-+                exit 1;;
-+esac
-+
-+exit 0
-+ at DPATCH@
-+diff -ru procps-3.1.8/sysctl.8 procps-3.1.8.new/sysctl.8
-+--- procps-3.1.8/sysctl.8	2002-12-12 07:51:32.000000000 +0900
-++++ procps-3.1.8.new/sysctl.8	2003-04-15 20:30:46.000000000 +0900
-+@@ -12,9 +12,9 @@
-+ .SH SYNOPSIS
-+ .B "sysctl [-n] [-e] variable ..."
-+ .br
-+-.B "sysctl [-n] [-e] -w variable=value ..."
-++.B "sysctl [-n] [-e] [-q] -w variable=value ..."
-+ .br
-+-.B "sysctl [-n] [-e] -p <filename>"
-++.B "sysctl [-n] [-e] [-q] -p <filename>"
-+ .br
-+ .B "sysctl [-n] [-e] -a"
-+ .br
-+@@ -45,6 +45,9 @@
-+ .B "-e"
-+ Use this option to ignore errors about unknown keys.
-+ .TP
-++.B "-q"
-++Use this option to not display the values set to stdout.
-++.TP
-+ .B "-w"
-+ Use this option when you want to change a sysctl setting.
-+ .TP
-+diff -ru procps-3.1.8/sysctl.c procps-3.1.8.new/sysctl.c
-+--- procps-3.1.8/sysctl.c	2002-12-29 08:26:50.000000000 +0900
-++++ procps-3.1.8.new/sysctl.c	2003-04-15 20:35:08.000000000 +0900
-+@@ -15,6 +15,8 @@
-+  * Changelog:
-+  *            v1.01:
-+  *                   - added -p <preload> to preload values from a file
-++ *            Horms: 
-++ *                   - added -q to be quiet when modifying values
-+  *
-+  * Changes by Albert Cahalan, 2002.
-+  */
-+@@ -46,6 +48,7 @@
-+ static bool PrintName;
-+ static bool PrintNewline;
-+ static bool IgnoreError;
-++static bool Quiet;
-+ 
-+ /* error messages */
-+ static const char ERR_UNKNOWN_PARAMETER[] = "error: Unknown parameter '%s'\n";
-+@@ -80,9 +83,9 @@
-+  */
-+ static int Usage(const char *restrict const name) {
-+    printf("usage:  %s [-n] [-e] variable ... \n"
-+-          "        %s [-n] [-e] -w variable=value ... \n" 
-++          "        %s [-n] [-e] [-q] -w variable=value ... \n" 
-+           "        %s [-n] [-e] -a \n" 
-+-          "        %s [-n] [-e] -p <file>   (default /etc/sysctl.conf) \n"
-++          "        %s [-n] [-e] [-q] -p <file>   (default /etc/sysctl.conf) \n"
-+           "        %s [-n] [-e] -A\n", name, name, name, name, name);
-+    return -1;
-+ }
-+@@ -290,13 +293,14 @@
-+       fprintf(fp, "%s\n", value);
-+       fclose(fp);
-+ 
-+-      if (PrintName) {
-++      if(Quiet) {
-++	 ;
-++      } else if (PrintName) {
-+          fprintf(stdout, "%s = %s\n", outname, value);
-++      } else if (PrintNewline) {
-++         fprintf(stdout, "%s\n", value);
-+       } else {
-+-         if (PrintNewline)
-+-            fprintf(stdout, "%s\n", value);
-+-         else
-+-            fprintf(stdout, "%s", value);
-++         fprintf(stdout, "%s", value);
-+       }
-+    }
-+ 
-+@@ -377,6 +381,7 @@
-+    PrintName = true;
-+    PrintNewline = true;
-+    IgnoreError = false;
-++   Quiet = false;
-+ 
-+    if (argc < 2) {
-+        return Usage(me);
-+@@ -419,6 +424,9 @@
-+                  preloadfile = *argv;
-+               }
-+               return Preload(preloadfile);
-++	 case 'q':
-++	      Quiet = true;
-++	   break;
-+          case 'a': /* string and integer values (for Linux, all of them) */
-+          case 'A': /* the above, including "opaques" (would be unprintable) */
-+          case 'X': /* the above, with opaques completly printed in hex */
---- procps-3.1.15.orig/debian/patches/00list
-+++ procps-3.1.15/debian/patches/00list
-@@ -0,0 +1,5 @@
-+10_sysctl_quiet
-+20_procps-fix+attr
-+20_ps.1
-+20_top_manpage
-+30_remove_test_dir
---- procps-3.1.15.orig/debian/patches/30_remove_test_dir.dpatch
-+++ procps-3.1.15/debian/patches/30_remove_test_dir.dpatch
-@@ -0,0 +1,2911 @@
-+#! /bin/sh -e
-+## 30_remove_test-dir by Craif Small
-+##
-+## All lines beginning with `## DP:' are a description of the patch.
-+## DP: Removing test directory
-+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
-+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
-+
-+if [ $# -ne 1 ]; then
-+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
-+    exit 1
-+fi
-+case "$1" in
-+       -patch) patch $patch_opts -p1 < $0;;
-+       -unpatch) patch $patch_opts -p1 -R < $0;;
-+        *)
-+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argum
-+ent"
-+                exit 1;;
-+esac
-+
-+exit 0
-+ at DPATCH@
-+diff -ruN procps-3.1.15.old/test/clone-army.c procps-3.1.15/test/clone-army.c
-+--- procps-3.1.15.old/test/clone-army.c	2003-10-05 04:46:34.000000000 +1000
-++++ procps-3.1.15/test/clone-army.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,127 +0,0 @@
-+-// ps fTo sess,pgid,pid,tty,ppid,tpgid,args -C a.out
-+-
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-//#include <sys/stat.h>
-+-//#include <fcntl.h>
-+-//#include <stdlib.h>
-+-#include <stdio.h>
-+-#include <sched.h>
-+-
-+-#if 0
-+-#define CLONE_VM             0x00000100 // set if VM shared between processes
-+-#define CLONE_FS             0x00000200 // set if fs info shared between processes
-+-#define CLONE_FILES          0x00000400 // set if open files shared between processes
-+-#define CLONE_SIGHAND        0x00000800 // set if signal handlers and blocked signals shared
-+-#define CLONE_IDLETASK       0x00001000 // set if new pid should be 0 (kernel only)*/
-+-#define CLONE_PTRACE         0x00002000 // set if we want to let tracing continue on the child too
-+-#define CLONE_VFORK          0x00004000 // set if the parent wants the child to wake it up on mm_release
-+-#define CLONE_PARENT         0x00008000 // set if we want to have the same parent as the cloner
-+-#define CLONE_THREAD         0x00010000 // Same thread group?
-+-#define CLONE_NEWNS          0x00020000 // New namespace group?
-+-#define CLONE_SYSVSEM        0x00040000 // share system V SEM_UNDO semantics
-+-#define CLONE_SETTLS         0x00080000 // create a new TLS for the child
-+-#define CLONE_PARENT_SETTID  0x00100000 // set the TID in the parent
-+-#define CLONE_CHILD_CLEARTID 0x00200000 // clear the TID in the child
-+-#define CLONE_DETACHED       0x00400000 // parent wants no child-exit signal
-+-#define CLONE_UNTRACED       0x00800000 // set if the tracing process can't force CLONE_PTRACE on this clone
-+-#define CLONE_CHILD_SETTID   0x01000000 // set the TID in the child
-+-#define CLONE_STOPPED        0x02000000 // Start in stopped state
-+-#endif
-+-
-+-#ifndef CLONE_THREAD
-+-#define CLONE_THREAD         0x00010000
-+-#endif
-+-#ifndef CLONE_DETACHED
-+-#define CLONE_DETACHED       0x00400000
-+-#endif
-+-
-+-
-+-// interesting: VM FS FILES SIGHAND PARENT THREAD SYSVSEM DETACHED
-+-
-+-//#define FLAGS (CLONE_PARENT|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_VM|CLONE_THREAD|CLONE_SYSVSEM)
-+-#define FLAGS (CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_VM|CLONE_THREAD|CLONE_DETACHED)
-+-
-+-// Don't cause rejection: FS FILES SYSVSEM PARENT
-+-// Do cause rejection:
-+-
-+-static void printflags(int pass, unsigned flags){
-+-  printf(
-+-    "%s %08x %s %s %s %s\n",
-+-    pass?"pass":"FAIL",
-+-    flags,
-+-    (flags&CLONE_THREAD) ? "THREAD" : "______",
-+-    (flags&CLONE_DETACHED) ? "DETACHED" : "________",
-+-    (flags&CLONE_SIGHAND) ? "SIGHAND" : "_______",
-+-    (flags&CLONE_SIGHAND) ? "VM" : "__"
-+-  );
-+-}
-+-
-+-static unsigned genflags(unsigned flags){
-+-  return (
-+-    (flags&0x08) ? 0 : CLONE_THREAD
-+-    )|(
-+-    (flags&0x04) ? 0 : CLONE_DETACHED
-+-    )|(
-+-    (flags&0x02) ? 0 : CLONE_SIGHAND
-+-    )|(
-+-    (flags&0x01) ? 0 : CLONE_VM
-+-  );
-+-}
-+-
-+-//static pid_t one;
-+-
-+-//static void die(int signo){
-+-//  (void)signo;
-+-//  _exit(0);
-+-//}
-+-
-+-//static void sigchld_handler(int signo){
-+-//  (void)signo;
-+-//  kill(one,SIGHUP);          // kill parent
-+-//}
-+-
-+-static int clone_fn(void *vp){
-+-  for(;;) pause();
-+-}
-+-
-+-static long clone_stack_data[2048];
-+-#ifdef __hppa__
-+-static long *clone_stack = &clone_stack_data[0];
-+-#else
-+-static long *clone_stack = &clone_stack_data[2048];
-+-#endif
-+-
-+-int main(int argc, char *argv[]){
-+-  unsigned u;
-+-  pid_t minime;
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-//  one = getpid();
-+-//  signal(SIGHUP,die);
-+-//  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-  u = 16;
-+-
-+-  while(u--){
-+-    unsigned f = genflags(u);
-+-    minime = clone(clone_fn, clone_stack, f, "arg");
-+-
-+-    printflags(minime!=-1, f);
-+-//    if(minime==-1){
-+-//      perror("no clone");
-+-//      _exit(8);
-+-//    }
-+-
-+-//    printf("%d begat %d\n",getpid(),minime);
-+-  }
-+-
-+-
-+-//  kill(one,SIGHUP); // let the shell know we're ready
-+-
-+-//  clone_fn();
-+-
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/clone-once.c procps-3.1.15/test/clone-once.c
-+--- procps-3.1.15.old/test/clone-once.c	2003-10-20 10:56:12.000000000 +1000
-++++ procps-3.1.15/test/clone-once.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,97 +0,0 @@
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-//#include <sys/stat.h>
-+-//#include <fcntl.h>
-+-//#include <stdlib.h>
-+-#include <stdio.h>
-+-#include <sched.h>
-+-
-+-#if 0
-+-#define CLONE_VM             0x00000100 // set if VM shared between processes
-+-#define CLONE_FS             0x00000200 // set if fs info shared between processes
-+-#define CLONE_FILES          0x00000400 // set if open files shared between processes
-+-#define CLONE_SIGHAND        0x00000800 // set if signal handlers and blocked signals shared
-+-#define CLONE_IDLETASK       0x00001000 // set if new pid should be 0 (kernel only)*/
-+-#define CLONE_PTRACE         0x00002000 // set if we want to let tracing continue on the child too
-+-#define CLONE_VFORK          0x00004000 // set if the parent wants the child to wake it up on mm_release
-+-#define CLONE_PARENT         0x00008000 // set if we want to have the same parent as the cloner
-+-#define CLONE_THREAD         0x00010000 // Same thread group?
-+-#define CLONE_NEWNS          0x00020000 // New namespace group?
-+-#define CLONE_SYSVSEM        0x00040000 // share system V SEM_UNDO semantics
-+-#define CLONE_SETTLS         0x00080000 // create a new TLS for the child
-+-#define CLONE_PARENT_SETTID  0x00100000 // set the TID in the parent
-+-#define CLONE_CHILD_CLEARTID 0x00200000 // clear the TID in the child
-+-#define CLONE_DETACHED       0x00400000 // parent wants no child-exit signal
-+-#define CLONE_UNTRACED       0x00800000 // set if the tracing process can't force CLONE_PTRACE on this clone
-+-#define CLONE_CHILD_SETTID   0x01000000 // set the TID in the child
-+-#define CLONE_STOPPED        0x02000000 // Start in stopped state
-+-#endif
-+-
-+-#ifndef CLONE_THREAD
-+-#define CLONE_THREAD         0x00010000
-+-#endif
-+-#ifndef CLONE_DETACHED
-+-#define CLONE_DETACHED       0x00400000
-+-#endif
-+-
-+-//#define FLAGS (CLONE_PARENT|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_VM|CLONE_THREAD|CLONE_SYSVSEM)
-+-#define FLAGS (CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_VM|CLONE_THREAD|CLONE_DETACHED)
-+-
-+-static pid_t one;
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-//static void sigchld_handler(int signo){
-+-//  (void)signo;
-+-//  kill(one,SIGHUP);          // kill parent
-+-//}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-static int clone_fn(void *vp){
-+-//  const char msg[] = "I think I'm a clone now!\n";
-+-  (void)vp;
-+-//  write(STDOUT_FILENO, msg, sizeof(msg)-1);
-+-  hang();
-+-  return 0; // keep gcc happy
-+-}
-+-
-+-static long clone_stack_data[2048];
-+-#ifdef __hppa__
-+-static long *clone_stack = &clone_stack_data[0];
-+-#else
-+-static long *clone_stack = &clone_stack_data[2048];
-+-#endif
-+-
-+-int main(int argc, char *argv[]){
-+-  pid_t minime;
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-  one = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-
-+-  minime = clone(clone_fn, clone_stack, FLAGS, "arg");
-+-
-+-  if(minime==-1){
-+-    perror("no clone");
-+-    kill(one,SIGKILL);
-+-    _exit(8);
-+-  }
-+-
-+-//  printf("%d begat %d\n",getpid(),minime);
-+-
-+-  kill(one,SIGHUP); // let the shell know we're ready
-+-
-+-  hang();
-+-
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/fork-you.c procps-3.1.15/test/fork-you.c
-+--- procps-3.1.15.old/test/fork-you.c	2003-09-05 14:18:30.000000000 +1000
-++++ procps-3.1.15/test/fork-you.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,27 +0,0 @@
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-int main(int argc, char *argv[]){
-+-  pid_t pid;
-+-
-+-  (void)argv;
-+-
-+-  pid = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-  kill(1,9);            // "kill" unkillable init to touch lib pages
-+-  while(argc--) if(!fork()) hang();
-+-  kill(pid,SIGHUP);          // kill parent
-+-  hang();
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/funny-thing.c procps-3.1.15/test/funny-thing.c
-+--- procps-3.1.15.old/test/funny-thing.c	2003-09-08 13:55:57.000000000 +1000
-++++ procps-3.1.15/test/funny-thing.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,38 +0,0 @@
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-
-+-static pid_t one;
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-int main(int argc, char *argv[]){
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-  one = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-  // second one exits, to enable setsid(), and the resulting
-+-  // zombie will be reaped by init after 1st process killed
-+-  if(!fork()) _exit(0);
-+-
-+-  if(setsid()==-1){
-+-    kill(one,SIGKILL); // hopefully the shell will complain
-+-    _exit(42); // kind of tough to report errors
-+-  }
-+-
-+-  kill(one,SIGHUP); // let the shell know we're ready
-+-
-+-  hang();
-+-
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/gigabyte.c procps-3.1.15/test/gigabyte.c
-+--- procps-3.1.15.old/test/gigabyte.c	2003-09-11 10:23:56.000000000 +1000
-++++ procps-3.1.15/test/gigabyte.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,74 +0,0 @@
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-//#include <sys/ioctl.h>
-+-//#include <sys/stat.h>
-+-//#include <fcntl.h>
-+-#include <stdio.h>
-+-#include <sys/mman.h>
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-#ifndef MAP_NORESERVE
-+-#define MAP_NORESERVE 0
-+-#endif
-+-
-+-int main(int argc, char *argv[]){
-+-  void *vp;
-+-  pid_t pid;
-+-  size_t length = 1024*1024*1024;
-+-  unsigned maps;   // how many mappings to do
-+-
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-  if(sizeof(void*)==8){
-+-    maps = 10;
-+-    puts("64bit");
-+-  }else{
-+-    maps = 1;
-+-    puts("32bit");
-+-  }
-+-  fflush(stdout);
-+-
-+-  pid = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-
-+-  while(maps){
-+-    vp = mmap(
-+-      0,   // start
-+-      length,
-+-      PROT_READ|PROT_WRITE,
-+-      MAP_PRIVATE|MAP_NORESERVE|MAP_ANONYMOUS,
-+-      0,   // fd
-+-      0    // offset
-+-    );
-+-    if(vp==MAP_FAILED){
-+-      // try a smaller size; maybe fragmentation stopped us
-+-      length /= 2;
-+-      maps *= 2;
-+-    }else{
-+-      maps--;
-+-    }
-+-    if(maps>200 || length<2*1024*1024){
-+-      kill(pid,SIGKILL); // hopefully the shell will complain
-+-      _exit(88);
-+-    }
-+-  }
-+-
-+-  close(0);
-+-  close(1);
-+-  close(2);
-+-  kill(pid,SIGHUP);          // kill parent
-+-  hang();
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/got-no-tty.c procps-3.1.15/test/got-no-tty.c
-+--- procps-3.1.15.old/test/got-no-tty.c	2003-09-05 14:17:57.000000000 +1000
-++++ procps-3.1.15/test/got-no-tty.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,46 +0,0 @@
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-#include <sys/ioctl.h>
-+-#include <sys/stat.h>
-+-#include <fcntl.h>
-+-#include <stdio.h>
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-int main(int argc, char *argv[]){
-+-  int fd;
-+-  pid_t pid;
-+-
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-  pid = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-
-+-  // Use the TIOCNOTTY ioctl to detach from the tty
-+-  // and, supposedly, set the process group ID to zero.
-+-  // Reality: PGRP unchanged, TPGID becomes -1, TTY lost.
-+-  fd = open("/dev/tty", O_RDONLY);
-+-  if(!fd){
-+-    perror("open /dev/tty");
-+-    _exit(1);
-+-  }
-+-  if(ioctl(fd, TIOCNOTTY)==-1){
-+-    perror("open /dev/tty");
-+-    _exit(1);
-+-  }
-+-
-+-  kill(pid,SIGHUP);          // kill parent
-+-  hang();
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/mini-me.c procps-3.1.15/test/mini-me.c
-+--- procps-3.1.15.old/test/mini-me.c	2003-09-22 05:50:38.000000000 +1000
-++++ procps-3.1.15/test/mini-me.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,97 +0,0 @@
-+-// ps fTo sess,pgid,pid,tty,ppid,tpgid,args -C a.out
-+-
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-//#include <sys/stat.h>
-+-//#include <fcntl.h>
-+-//#include <stdlib.h>
-+-#include <stdio.h>
-+-#include <sched.h>
-+-
-+-#if 0
-+-#define CLONE_VM             0x00000100 // set if VM shared between processes
-+-#define CLONE_FS             0x00000200 // set if fs info shared between processes
-+-#define CLONE_FILES          0x00000400 // set if open files shared between processes
-+-#define CLONE_SIGHAND        0x00000800 // set if signal handlers and blocked signals shared
-+-#define CLONE_IDLETASK       0x00001000 // set if new pid should be 0 (kernel only)*/
-+-#define CLONE_PTRACE         0x00002000 // set if we want to let tracing continue on the child too
-+-#define CLONE_VFORK          0x00004000 // set if the parent wants the child to wake it up on mm_release
-+-#define CLONE_PARENT         0x00008000 // set if we want to have the same parent as the cloner
-+-#define CLONE_THREAD         0x00010000 // Same thread group?
-+-#define CLONE_NEWNS          0x00020000 // New namespace group?
-+-#define CLONE_SYSVSEM        0x00040000 // share system V SEM_UNDO semantics
-+-#define CLONE_SETTLS         0x00080000 // create a new TLS for the child
-+-#define CLONE_PARENT_SETTID  0x00100000 // set the TID in the parent
-+-#define CLONE_CHILD_CLEARTID 0x00200000 // clear the TID in the child
-+-#define CLONE_DETACHED       0x00400000 // parent wants no child-exit signal
-+-#define CLONE_UNTRACED       0x00800000 // set if the tracing process can't force CLONE_PTRACE on this clone
-+-#define CLONE_CHILD_SETTID   0x01000000 // set the TID in the child
-+-#define CLONE_STOPPED        0x02000000 // Start in stopped state
-+-#endif
-+-
-+-#ifndef CLONE_THREAD
-+-#define CLONE_THREAD         0x00010000
-+-#endif
-+-#ifndef CLONE_DETACHED
-+-#define CLONE_DETACHED       0x00400000
-+-#endif
-+-
-+-//#define FLAGS (CLONE_PARENT|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_VM|CLONE_THREAD|CLONE_SYSVSEM)
-+-#define FLAGS (CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_VM|CLONE_THREAD|CLONE_DETACHED)
-+-
-+-//static pid_t one;
-+-
-+-//static void die(int signo){
-+-//  (void)signo;
-+-//  _exit(0);
-+-//}
-+-
-+-//static void sigchld_handler(int signo){
-+-//  (void)signo;
-+-//  kill(one,SIGHUP);          // kill parent
-+-//}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-static int clone_fn(void *vp){
-+-  const char msg[] = "I think I'm a clone now!\n";
-+-  write(STDOUT_FILENO, msg, sizeof(msg)-1);
-+-  hang();
-+-}
-+-
-+-static long clone_stack_data[2048];
-+-#ifdef __hppa__
-+-static long *clone_stack = &clone_stack_data[0];
-+-#else
-+-static long *clone_stack = &clone_stack_data[2048];
-+-#endif
-+-
-+-int main(int argc, char *argv[]){
-+-  pid_t minime;
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-//  one = getpid();
-+-//  signal(SIGHUP,die);
-+-//  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-
-+-  minime = clone(clone_fn, clone_stack, FLAGS, "arg");
-+-
-+-  if(minime==-1){
-+-//    kill(one,SIGKILL);
-+-    perror("no clone");
-+-    _exit(8);
-+-  }
-+-
-+-  printf("%d begat %d\n",getpid(),minime);
-+-
-+-//  kill(one,SIGHUP); // let the shell know we're ready
-+-
-+-  hang();
-+-
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/module.mk procps-3.1.15/test/module.mk
-+--- procps-3.1.15.old/test/module.mk	2003-12-25 02:02:52.000000000 +1100
-++++ procps-3.1.15/test/module.mk	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,36 +0,0 @@
-+-# This file gets included into the main Makefile, in the top directory.
-+-
-+-#INSTALL += $(bin)test $(man1)test.1 -- some data dump thing maybe?
-+-
-+-# directories for cleaning
-+-DIRS += test/ $(wildcard test/*/*/)
-+-
-+-TEST_C    := fork-you the_living_dead got-no-tty sidious sid-breaks-ttys \
-+-             gigabyte mini-me funny-thing clone-army clone-once
-+-TESTNAMES := $(addprefix test/,$(TEST_C))
-+-TESTOBJ   := $(addsuffix .o,$(TESTNAMES))
-+-TESTSRC   := $(addsuffix .c,$(TESTNAMES)) test/th.c
-+-
-+-# files to create
-+-ALL += $(TESTNAMES)
-+-
-+-# files to remove
-+-TEST_JUNK := stderr stdout header stderr.test stderr.good
-+-CLEAN += $(addprefix test/,$(TEST_JUNK)) $(TESTNAMES) test/th $(wildcard test/*.tmp)
-+-
-+-TEST_X := module.mk script-child onetest runtests
-+-TARFILES += $(TESTSRC) $(addprefix test/,$(TEST_X)) $(wildcard test/*/*)
-+-
-+-$(TESTNAMES): %: %.o
-+-	$(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^
-+-
-+-# add proc/$(SONAME) on the end later if needed
-+-$(TESTOBJ): %.o: %.c
-+-	$(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< -o $@
-+-
-+-test/th: test/th.o
-+-	$(CC) $(ALL_CFLAGS) $(ALL_LDFLAGS) -o $@ $^ -lpthread
-+-
-+-test/th.o: test/th.c
-+-	$(CC) -c $(ALL_CPPFLAGS) $(ALL_CFLAGS) $< -o $@
-+-
-+diff -ruN procps-3.1.15.old/test/onetest procps-3.1.15/test/onetest
-+--- procps-3.1.15.old/test/onetest	2003-12-25 02:02:08.000000000 +1100
-++++ procps-3.1.15/test/onetest	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,70 +0,0 @@
-+-#!/bin/bash
-+-
-+-unset I_WANT_A_BROKEN_PS
-+-unset PS_PERSONALITY
-+-unset CMD_ENV
-+-unset PS_FORMAT
-+-
-+-export LANG=C
-+-export LC_ALL=C
-+-export TZ=GMT
-+-
-+-TESTNAME=$1
-+-
-+-# enlarge as needed in setup to avoid COMMAND becoming COMMA, etc.
-+-export COLUMNS=111
-+-
-+-: ${LD_LIBRARY_PATH:=../proc}
-+-: ${TESTME:=../ps/ps}
-+-export LD_LIBRARY_PATH
-+-export DYLD_LIBRARY_PATH=$LD_LIBRARY_PATH  # if ever a darwin port
-+-
-+-
-+-
-+-. $TESTNAME/setup
-+-$TESTME $ARGS > stdout 2> stderr
-+-RESULT=$?
-+-if [ x$KILLFN == x1 ] ; then
-+-  killfn
-+-fi
-+-
-+-
-+-
-+-if [ x$RESULT != x$GOOD ] ; then
-+-  echo FAIL $TESTNAME err-$RESULT
-+-  exit 1
-+-fi
-+-
-+-rm -f stderr.test ; touch stderr.test
-+-if [ -f stderr ] ; then
-+-  head -3 < stderr > stderr.test
-+-fi
-+-rm -f stderr.good ; touch stderr.good
-+-if [ -f $TESTNAME/stderr ] ; then
-+-  head -3 < $TESTNAME/stderr > stderr.good
-+-fi
-+-diff -Naurd stderr.test stderr.good >> /dev/null
-+-if [ x$? != x0 ] ; then
-+-  echo FAIL $TESTNAME wrong-stderr
-+-  exit 1
-+-fi
-+-
-+-if [ -f $TESTNAME/header ] ; then
-+-  (printf ' ' ; head -1 stdout) | tr -s ' ' > header
-+-  diff -Naurd header $TESTNAME/header >> /dev/null
-+-  if [ x$? != x0 ] ; then
-+-    echo FAIL $TESTNAME wrong-header
-+-    exit 1
-+-  fi
-+-fi
-+-
-+-if [ x$EVALFN == x1 ] ; then
-+-  evalfn
-+-  if [ x$? != x0 ] ; then
-+-    echo FAIL $TESTNAME eval-fn
-+-    exit 1
-+-  fi
-+-fi
-+-
-+-echo pass $TESTNAME a-ok
-+-exit 0
-+diff -ruN procps-3.1.15.old/test/ps/LT-mix/header procps-3.1.15/test/ps/LT-mix/header
-+--- procps-3.1.15.old/test/ps/LT-mix/header	2003-10-02 12:38:29.000000000 +1000
-++++ procps-3.1.15/test/ps/LT-mix/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/LT-mix/setup procps-3.1.15/test/ps/LT-mix/setup
-+--- procps-3.1.15.old/test/ps/LT-mix/setup	2003-10-02 12:39:40.000000000 +1000
-++++ procps-3.1.15/test/ps/LT-mix/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-L -T"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/LT-mix/stderr procps-3.1.15/test/ps/LT-mix/stderr
-+--- procps-3.1.15.old/test/ps/LT-mix/stderr	2003-10-02 12:40:03.000000000 +1000
-++++ procps-3.1.15/test/ps/LT-mix/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Thread flags conflict; can't use both -L and -T.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/O-O/header procps-3.1.15/test/ps/O-O/header
-+--- procps-3.1.15.old/test/ps/O-O/header	2003-10-02 12:01:36.000000000 +1000
-++++ procps-3.1.15/test/ps/O-O/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/O-O/setup procps-3.1.15/test/ps/O-O/setup
-+--- procps-3.1.15.old/test/ps/O-O/setup	2003-10-02 12:02:01.000000000 +1000
-++++ procps-3.1.15/test/ps/O-O/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-O wchan -O sess"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/O-O/stderr procps-3.1.15/test/ps/O-O/stderr
-+--- procps-3.1.15.old/test/ps/O-O/stderr	2003-10-02 12:05:19.000000000 +1000
-++++ procps-3.1.15/test/ps/O-O/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: option -O can not follow other format options.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/O-o/header procps-3.1.15/test/ps/O-o/header
-+--- procps-3.1.15.old/test/ps/O-o/header	2003-10-02 12:06:18.000000000 +1000
-++++ procps-3.1.15/test/ps/O-o/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID WCHAN S TTY TIME COMMAND SESS
-+diff -ruN procps-3.1.15.old/test/ps/O-o/setup procps-3.1.15/test/ps/O-o/setup
-+--- procps-3.1.15.old/test/ps/O-o/setup	2003-10-02 12:05:41.000000000 +1000
-++++ procps-3.1.15/test/ps/O-o/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-O wchan -o sess"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/aix-pcpu-header/header procps-3.1.15/test/ps/aix-pcpu-header/header
-+--- procps-3.1.15.old/test/ps/aix-pcpu-header/header	2003-09-03 07:26:05.000000000 +1000
-++++ procps-3.1.15/test/ps/aix-pcpu-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- %CPU
-+diff -ruN procps-3.1.15.old/test/ps/aix-pcpu-header/setup procps-3.1.15/test/ps/aix-pcpu-header/setup
-+--- procps-3.1.15.old/test/ps/aix-pcpu-header/setup	2003-09-03 07:24:28.000000000 +1000
-++++ procps-3.1.15/test/ps/aix-pcpu-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o %cpu"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/aix-pcpu-header2/header procps-3.1.15/test/ps/aix-pcpu-header2/header
-+--- procps-3.1.15.old/test/ps/aix-pcpu-header2/header	2003-09-03 07:26:30.000000000 +1000
-++++ procps-3.1.15/test/ps/aix-pcpu-header2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- COMMAND px
-+diff -ruN procps-3.1.15.old/test/ps/aix-pcpu-header2/setup procps-3.1.15/test/ps/aix-pcpu-header2/setup
-+--- procps-3.1.15.old/test/ps/aix-pcpu-header2/setup	2003-09-03 07:25:22.000000000 +1000
-++++ procps-3.1.15/test/ps/aix-pcpu-header2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o %cpx"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bad-format-env/header procps-3.1.15/test/ps/bad-format-env/header
-+--- procps-3.1.15.old/test/ps/bad-format-env/header	2003-10-02 12:16:37.000000000 +1000
-++++ procps-3.1.15/test/ps/bad-format-env/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/bad-format-env/setup procps-3.1.15/test/ps/bad-format-env/setup
-+--- procps-3.1.15.old/test/ps/bad-format-env/setup	2003-10-02 12:16:22.000000000 +1000
-++++ procps-3.1.15/test/ps/bad-format-env/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-ARGS=
-+-GOOD=0
-+-export PS_FORMAT=booger
-+diff -ruN procps-3.1.15.old/test/ps/bad-format-env/stderr procps-3.1.15/test/ps/bad-format-env/stderr
-+--- procps-3.1.15.old/test/ps/bad-format-env/stderr	2003-10-02 12:16:13.000000000 +1000
-++++ procps-3.1.15/test/ps/bad-format-env/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+-Warning: $PS_FORMAT ignored. (Unknown user-defined format specifier "booger".)
-+diff -ruN procps-3.1.15.old/test/ps/bogus-n-header/header procps-3.1.15/test/ps/bogus-n-header/header
-+--- procps-3.1.15.old/test/ps/bogus-n-header/header	2003-09-02 09:37:07.000000000 +1000
-++++ procps-3.1.15/test/ps/bogus-n-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bogus-n-header/setup procps-3.1.15/test/ps/bogus-n-header/setup
-+--- procps-3.1.15.old/test/ps/bogus-n-header/setup	2003-09-02 09:34:40.000000000 +1000
-++++ procps-3.1.15/test/ps/bogus-n-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-n"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bogus-n-header/stderr procps-3.1.15/test/ps/bogus-n-header/stderr
-+--- procps-3.1.15.old/test/ps/bogus-n-header/stderr	2003-09-02 09:35:37.000000000 +1000
-++++ procps-3.1.15/test/ps/bogus-n-header/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+-Warning: bad syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html
-+diff -ruN procps-3.1.15.old/test/ps/bsd-T/header procps-3.1.15/test/ps/bsd-T/header
-+--- procps-3.1.15.old/test/ps/bsd-T/header	2003-09-02 11:54:41.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-T/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-T/setup procps-3.1.15/test/ps/bsd-T/setup
-+--- procps-3.1.15.old/test/ps/bsd-T/setup	2003-09-02 11:53:24.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-T/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,11 +0,0 @@
-+-ARGS=T
-+-GOOD=0
-+-EVALFN=1
-+-
-+-# default output is restricted to this tty
-+-MYTTY=`tty`
-+-
-+-evalfn () {
-+-  PSTTY=`awk '!/TTY/{print $2}' < stdout | uniq`
-+-  [ /dev/$PSTTY == $MYTTY ]
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/bsd-j-header/header procps-3.1.15/test/ps/bsd-j-header/header
-+--- procps-3.1.15.old/test/ps/bsd-j-header/header	2003-09-02 22:33:49.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-j-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-j-header/setup procps-3.1.15/test/ps/bsd-j-header/setup
-+--- procps-3.1.15.old/test/ps/bsd-j-header/setup	2003-09-02 22:32:53.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-j-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="j"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-j-header2/header procps-3.1.15/test/ps/bsd-j-header2/header
-+--- procps-3.1.15.old/test/ps/bsd-j-header2/header	2003-09-02 23:16:25.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-j-header2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- USER PID PPID PGID SESS JOBC STAT TT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-j-header2/setup procps-3.1.15/test/ps/bsd-j-header2/setup
-+--- procps-3.1.15.old/test/ps/bsd-j-header2/setup	2003-09-02 23:15:16.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-j-header2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=bsd
-+-ARGS="-j"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-l-header/header procps-3.1.15/test/ps/bsd-l-header/header
-+--- procps-3.1.15.old/test/ps/bsd-l-header/header	2003-09-02 22:54:09.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-l-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-l-header/setup procps-3.1.15/test/ps/bsd-l-header/setup
-+--- procps-3.1.15.old/test/ps/bsd-l-header/setup	2003-09-02 22:53:45.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-l-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="l"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-l-header2/header procps-3.1.15/test/ps/bsd-l-header2/header
-+--- procps-3.1.15.old/test/ps/bsd-l-header2/header	2003-09-03 07:26:56.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-l-header2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- UID PID PPID CPU PRI NI VSZ RSS WCHAN STAT TT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-l-header2/setup procps-3.1.15/test/ps/bsd-l-header2/setup
-+--- procps-3.1.15.old/test/ps/bsd-l-header2/setup	2003-09-03 07:21:19.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-l-header2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=bsd
-+-ARGS="-l"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-s-header/header procps-3.1.15/test/ps/bsd-s-header/header
-+--- procps-3.1.15.old/test/ps/bsd-s-header/header	2003-09-02 22:55:32.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-s-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- UID PID PENDING BLOCKED IGNORED CAUGHT STAT TTY TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-s-header/setup procps-3.1.15/test/ps/bsd-s-header/setup
-+--- procps-3.1.15.old/test/ps/bsd-s-header/setup	2003-09-02 22:55:06.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-s-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="s"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-s-header2/header procps-3.1.15/test/ps/bsd-s-header2/header
-+--- procps-3.1.15.old/test/ps/bsd-s-header2/header	2003-09-03 07:21:33.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-s-header2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- UID PID PENDING BLOCKED IGNORED CAUGHT STAT TTY TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-s-header2/setup procps-3.1.15/test/ps/bsd-s-header2/setup
-+--- procps-3.1.15.old/test/ps/bsd-s-header2/setup	2003-09-03 07:21:40.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-s-header2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=bsd
-+-ARGS="-s"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-selection/header procps-3.1.15/test/ps/bsd-selection/header
-+--- procps-3.1.15.old/test/ps/bsd-selection/header	2003-09-04 16:04:27.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-selection/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-selection/setup procps-3.1.15/test/ps/bsd-selection/setup
-+--- procps-3.1.15.old/test/ps/bsd-selection/setup	2003-09-13 13:47:22.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-selection/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,25 +0,0 @@
-+-ARGS="m"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-rm -f misc.tmp ready.tmp typescript.tmp
-+-
-+-./got-no-tty
-+-# this'll do but... WHERE ARE THE MAN PAGES FOR PTY STUFF???
-+-(SHELL=`pwd`/script-child script typescript.tmp &>/dev/null) &
-+-while [ ! -f ready.tmp ] ; do sleep 0.01 ; done
-+-. ready.tmp
-+-
-+-evalfn () {
-+-   THIS_TTY=`tty | colrm 1 5`
-+-   lines2=`awk '{print $2}' < stdout | sort -u | egrep "^($SHELL_TTY|$THIS_TTY)$"   | wc -l`
-+-   lines3=`awk '{print $2}' < stdout | sort -u | egrep "^($SHELL_TTY|$THIS_TTY|\?)$" | wc -l`
-+-   [ $lines2 == 2 ] && [ $lines3 == 2 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 got-no-tty
-+-  kill -9 $SHELL_PID  # the others should freely die
-+-  rm -f misc.tmp ready.tmp typescript.tmp
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-1/header procps-3.1.15/test/ps/bsd-t-1/header
-+--- procps-3.1.15.old/test/ps/bsd-t-1/header	2003-09-02 11:55:23.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-1/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-1/setup procps-3.1.15/test/ps/bsd-t-1/setup
-+--- procps-3.1.15.old/test/ps/bsd-t-1/setup	2003-09-02 11:56:11.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-1/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,11 +0,0 @@
-+-# default output is restricted to this tty
-+-MYTTY=`tty`
-+-
-+-ARGS=t$MYTTY
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  PSTTY=`awk '!/TTY/{print $2}' < stdout | uniq`
-+-  [ /dev/$PSTTY == $MYTTY ]
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-2/header procps-3.1.15/test/ps/bsd-t-2/header
-+--- procps-3.1.15.old/test/ps/bsd-t-2/header	2003-09-02 11:55:26.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-2/setup procps-3.1.15/test/ps/bsd-t-2/setup
-+--- procps-3.1.15.old/test/ps/bsd-t-2/setup	2003-09-02 11:56:54.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,12 +0,0 @@
-+-# Ancient usage: t w/o arg is current tty
-+-ARGS=t
-+-GOOD=0
-+-EVALFN=1
-+-
-+-# default output is restricted to this tty
-+-MYTTY=`tty`
-+-
-+-evalfn () {
-+-  PSTTY=`awk '!/TTY/{print $2}' < stdout | uniq`
-+-  [ /dev/$PSTTY == $MYTTY ]
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-3/header procps-3.1.15/test/ps/bsd-t-3/header
-+--- procps-3.1.15.old/test/ps/bsd-t-3/header	2003-09-02 11:55:27.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-3/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-3/setup procps-3.1.15/test/ps/bsd-t-3/setup
-+--- procps-3.1.15.old/test/ps/bsd-t-3/setup	2003-09-02 12:25:44.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-3/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,19 +0,0 @@
-+-MYTTY=`tty`
-+-
-+-# two ways to interpret "ps t 42"
-+-#
-+-# 1. as "ps t" with "ps 42"  (PID 42)
-+-# 2. as "ps t42" (tty /dev/tty42)
-+-#
-+-# The command doesn't seem to be legal BSD syntax, but we try...
-+-# We use interpretation #2, since BSD isn't known for ORing.
-+-# We'll assume PID 1 is "init" and not on /dev/tty1, and that
-+-# nothing on tty1 is named "init".
-+-
-+-ARGS="t 1"
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  ! egrep ' init' stdout >> /dev/null
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-4/header procps-3.1.15/test/ps/bsd-t-4/header
-+--- procps-3.1.15.old/test/ps/bsd-t-4/header	2003-09-02 11:55:29.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-4/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-t-4/setup procps-3.1.15/test/ps/bsd-t-4/setup
-+--- procps-3.1.15.old/test/ps/bsd-t-4/setup	2003-09-02 12:15:34.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-t-4/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,10 +0,0 @@
-+-ARGS=t-
-+-GOOD=0
-+-EVALFN=1
-+-
-+-# Use 'Y' to avoid shell wildcard problems.
-+-
-+-evalfn () {
-+-  PSTTY=`awk '!/TTY/{print $2}' < stdout | uniq | tr '?' 'Y'`
-+-  [ $PSTTY == 'Y' ]
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/bsd-u-header/header procps-3.1.15/test/ps/bsd-u-header/header
-+--- procps-3.1.15.old/test/ps/bsd-u-header/header	2003-09-02 22:57:35.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-u-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-u-header/setup procps-3.1.15/test/ps/bsd-u-header/setup
-+--- procps-3.1.15.old/test/ps/bsd-u-header/setup	2003-09-02 22:57:20.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-u-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="u"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-u-header2/header procps-3.1.15/test/ps/bsd-u-header2/header
-+--- procps-3.1.15.old/test/ps/bsd-u-header2/header	2003-09-03 07:27:09.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-u-header2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-u-header2/setup procps-3.1.15/test/ps/bsd-u-header2/setup
-+--- procps-3.1.15.old/test/ps/bsd-u-header2/setup	2003-09-03 07:22:00.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-u-header2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=bsd
-+-ARGS="-u"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-v-header/header procps-3.1.15/test/ps/bsd-v-header/header
-+--- procps-3.1.15.old/test/ps/bsd-v-header/header	2003-09-02 22:56:43.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-v-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-v-header/setup procps-3.1.15/test/ps/bsd-v-header/setup
-+--- procps-3.1.15.old/test/ps/bsd-v-header/setup	2003-09-02 22:56:10.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-v-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="v"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/bsd-v-header2/header procps-3.1.15/test/ps/bsd-v-header2/header
-+--- procps-3.1.15.old/test/ps/bsd-v-header2/header	2003-09-03 07:27:16.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-v-header2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID STAT TIME SL RE PAGEIN VSZ RSS LIM TSIZ %CPU %MEM COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/bsd-v-header2/setup procps-3.1.15/test/ps/bsd-v-header2/setup
-+--- procps-3.1.15.old/test/ps/bsd-v-header2/setup	2003-09-03 07:22:17.000000000 +1000
-++++ procps-3.1.15/test/ps/bsd-v-header2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=bsd
-+-ARGS="-v"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/dynix-F-header/header procps-3.1.15/test/ps/dynix-F-header/header
-+--- procps-3.1.15.old/test/ps/dynix-F-header/header	2003-09-02 22:31:23.000000000 +1000
-++++ procps-3.1.15/test/ps/dynix-F-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/dynix-F-header/setup procps-3.1.15/test/ps/dynix-F-header/setup
-+--- procps-3.1.15.old/test/ps/dynix-F-header/setup	2003-09-02 22:30:43.000000000 +1000
-++++ procps-3.1.15/test/ps/dynix-F-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-F"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/fail-aix-Q/header procps-3.1.15/test/ps/fail-aix-Q/header
-+--- procps-3.1.15.old/test/ps/fail-aix-Q/header	2003-10-02 11:31:34.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-aix-Q/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-aix-Q/setup procps-3.1.15/test/ps/fail-aix-Q/setup
-+--- procps-3.1.15.old/test/ps/fail-aix-Q/setup	2003-10-02 11:32:11.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-aix-Q/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o %Q"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-aix-Q/stderr procps-3.1.15/test/ps/fail-aix-Q/stderr
-+--- procps-3.1.15.old/test/ps/fail-aix-Q/stderr	2003-10-02 11:33:07.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-aix-Q/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Unknown AIX field descriptor.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-aix-improper/header procps-3.1.15/test/ps/fail-aix-improper/header
-+--- procps-3.1.15.old/test/ps/fail-aix-improper/header	2003-10-02 11:34:09.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-aix-improper/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-aix-improper/setup procps-3.1.15/test/ps/fail-aix-improper/setup
-+--- procps-3.1.15.old/test/ps/fail-aix-improper/setup	2003-10-02 11:34:22.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-aix-improper/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o %"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-aix-improper/stderr procps-3.1.15/test/ps/fail-aix-improper/stderr
-+--- procps-3.1.15.old/test/ps/fail-aix-improper/stderr	2003-10-02 11:34:40.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-aix-improper/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Improper AIX field descriptor.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-improper-sort/header procps-3.1.15/test/ps/fail-improper-sort/header
-+--- procps-3.1.15.old/test/ps/fail-improper-sort/header	2003-10-02 11:47:57.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-improper-sort/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-improper-sort/setup procps-3.1.15/test/ps/fail-improper-sort/setup
-+--- procps-3.1.15.old/test/ps/fail-improper-sort/setup	2003-10-02 11:48:15.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-improper-sort/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="--sort ,,"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-improper-sort/stderr procps-3.1.15/test/ps/fail-improper-sort/stderr
-+--- procps-3.1.15.old/test/ps/fail-improper-sort/stderr	2003-10-02 12:22:31.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-improper-sort/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Improper sort list
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-improper-spec/header procps-3.1.15/test/ps/fail-improper-spec/header
-+--- procps-3.1.15.old/test/ps/fail-improper-spec/header	2003-10-02 11:37:17.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-improper-spec/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-improper-spec/setup procps-3.1.15/test/ps/fail-improper-spec/setup
-+--- procps-3.1.15.old/test/ps/fail-improper-spec/setup	2003-10-02 11:37:34.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-improper-spec/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o ,"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-improper-spec/stderr procps-3.1.15/test/ps/fail-improper-spec/stderr
-+--- procps-3.1.15.old/test/ps/fail-improper-spec/stderr	2003-10-02 11:37:52.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-improper-spec/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Improper format list.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-macro-width/header procps-3.1.15/test/ps/fail-macro-width/header
-+--- procps-3.1.15.old/test/ps/fail-macro-width/header	2003-10-02 11:42:15.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-macro-width/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-macro-width/setup procps-3.1.15/test/ps/fail-macro-width/setup
-+--- procps-3.1.15.old/test/ps/fail-macro-width/setup	2003-10-02 11:42:30.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-macro-width/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o DefBSD:6"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-macro-width/stderr procps-3.1.15/test/ps/fail-macro-width/stderr
-+--- procps-3.1.15.old/test/ps/fail-macro-width/stderr	2003-10-02 11:42:46.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-macro-width/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Can't set width for a macro (multi-column) format specifier.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-no-sort-key/header procps-3.1.15/test/ps/fail-no-sort-key/header
-+--- procps-3.1.15.old/test/ps/fail-no-sort-key/header	2003-10-02 11:50:26.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-no-sort-key/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-no-sort-key/setup procps-3.1.15/test/ps/fail-no-sort-key/setup
-+--- procps-3.1.15.old/test/ps/fail-no-sort-key/setup	2003-10-02 11:50:39.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-no-sort-key/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="--sort"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-no-sort-key/stderr procps-3.1.15/test/ps/fail-no-sort-key/stderr
-+--- procps-3.1.15.old/test/ps/fail-no-sort-key/stderr	2003-10-02 11:51:05.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-no-sort-key/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Long sort specification must follow --sort.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-no-width/header procps-3.1.15/test/ps/fail-no-width/header
-+--- procps-3.1.15.old/test/ps/fail-no-width/header	2003-10-02 11:40:56.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-no-width/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-no-width/setup procps-3.1.15/test/ps/fail-no-width/setup
-+--- procps-3.1.15.old/test/ps/fail-no-width/setup	2003-10-02 11:41:22.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-no-width/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o pid:,f,comm"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-no-width/stderr procps-3.1.15/test/ps/fail-no-width/stderr
-+--- procps-3.1.15.old/test/ps/fail-no-width/stderr	2003-10-02 11:40:56.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-no-width/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Column widths must be unsigned decimal numbers.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-nondecimal/header procps-3.1.15/test/ps/fail-nondecimal/header
-+--- procps-3.1.15.old/test/ps/fail-nondecimal/header	2003-10-02 11:39:38.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-nondecimal/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-nondecimal/setup procps-3.1.15/test/ps/fail-nondecimal/setup
-+--- procps-3.1.15.old/test/ps/fail-nondecimal/setup	2003-10-02 11:40:07.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-nondecimal/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o pid:f,comm"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-nondecimal/stderr procps-3.1.15/test/ps/fail-nondecimal/stderr
-+--- procps-3.1.15.old/test/ps/fail-nondecimal/stderr	2003-10-02 11:40:30.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-nondecimal/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Column widths must be unsigned decimal numbers.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-oj/header procps-3.1.15/test/ps/fail-oj/header
-+--- procps-3.1.15.old/test/ps/fail-oj/header	2003-09-02 13:47:18.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-oj/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-oj/setup procps-3.1.15/test/ps/fail-oj/setup
-+--- procps-3.1.15.old/test/ps/fail-oj/setup	2003-09-02 13:47:54.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-oj/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o pid -j"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-oj/stderr procps-3.1.15/test/ps/fail-oj/stderr
-+--- procps-3.1.15.old/test/ps/fail-oj/stderr	2003-09-02 13:49:02.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-oj/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Can't use output modifiers with user-defined output
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-unknown-sort/header procps-3.1.15/test/ps/fail-unknown-sort/header
-+--- procps-3.1.15.old/test/ps/fail-unknown-sort/header	2003-10-02 11:49:27.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-unknown-sort/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-unknown-sort/setup procps-3.1.15/test/ps/fail-unknown-sort/setup
-+--- procps-3.1.15.old/test/ps/fail-unknown-sort/setup	2003-10-02 11:49:41.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-unknown-sort/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="--sort booger"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-unknown-sort/stderr procps-3.1.15/test/ps/fail-unknown-sort/stderr
-+--- procps-3.1.15.old/test/ps/fail-unknown-sort/stderr	2003-10-02 11:50:09.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-unknown-sort/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Unknown sort specifier.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-unknown-spec/header procps-3.1.15/test/ps/fail-unknown-spec/header
-+--- procps-3.1.15.old/test/ps/fail-unknown-spec/header	2003-10-02 11:35:33.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-unknown-spec/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-unknown-spec/setup procps-3.1.15/test/ps/fail-unknown-spec/setup
-+--- procps-3.1.15.old/test/ps/fail-unknown-spec/setup	2003-10-02 11:35:52.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-unknown-spec/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o boogers"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-unknown-spec/stderr procps-3.1.15/test/ps/fail-unknown-spec/stderr
-+--- procps-3.1.15.old/test/ps/fail-unknown-spec/stderr	2003-10-02 11:36:05.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-unknown-spec/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Unknown user-defined format specifier "boogers".
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/fail-xx/header procps-3.1.15/test/ps/fail-xx/header
-+--- procps-3.1.15.old/test/ps/fail-xx/header	2003-09-02 09:43:13.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-xx/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/fail-xx/setup procps-3.1.15/test/ps/fail-xx/setup
-+--- procps-3.1.15.old/test/ps/fail-xx/setup	2003-09-02 09:41:38.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-xx/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="x -x"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/fail-xx/stderr procps-3.1.15/test/ps/fail-xx/stderr
-+--- procps-3.1.15.old/test/ps/fail-xx/stderr	2003-09-02 09:42:04.000000000 +1000
-++++ procps-3.1.15/test/ps/fail-xx/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Unsupported SysV option.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/hpux-H-simple/setup procps-3.1.15/test/ps/hpux-H-simple/setup
-+--- procps-3.1.15.old/test/ps/hpux-H-simple/setup	2003-09-03 10:15:28.000000000 +1000
-++++ procps-3.1.15/test/ps/hpux-H-simple/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-HC fork-you -o comm="
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./fork-you 3 4 5 6 7 8 9
-+-
-+-evalfn () {
-+-  diff -Naurd stdout $TESTNAME/stdout >> /dev/null
-+-}
-+-
-+-killfn () {
-+-  killall -9 fork-you
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/hpux-H-simple/stdout procps-3.1.15/test/ps/hpux-H-simple/stdout
-+--- procps-3.1.15.old/test/ps/hpux-H-simple/stdout	2003-09-03 09:51:00.000000000 +1000
-++++ procps-3.1.15/test/ps/hpux-H-simple/stdout	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,9 +0,0 @@
-+-fork-you
-+-  fork-you
-+-  fork-you
-+-  fork-you
-+-  fork-you
-+-  fork-you
-+-  fork-you
-+-  fork-you
-+-  fork-you
-+diff -ruN procps-3.1.15.old/test/ps/jyclf-header/header procps-3.1.15/test/ps/jyclf-header/header
-+--- procps-3.1.15.old/test/ps/jyclf-header/header	2003-09-02 13:57:34.000000000 +1000
-++++ procps-3.1.15/test/ps/jyclf-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- S UID PID PPID PGID SID CLS PRI RSS SZ WCHAN STIME TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/jyclf-header/setup procps-3.1.15/test/ps/jyclf-header/setup
-+--- procps-3.1.15.old/test/ps/jyclf-header/setup	2003-09-02 13:55:34.000000000 +1000
-++++ procps-3.1.15/test/ps/jyclf-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-jyclf"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/linux-lf-header/header procps-3.1.15/test/ps/linux-lf-header/header
-+--- procps-3.1.15.old/test/ps/linux-lf-header/header	2003-09-02 14:03:14.000000000 +1000
-++++ procps-3.1.15/test/ps/linux-lf-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- F S USER PID PPID C PRI NI P SZ WCHAN STIME TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/linux-lf-header/setup procps-3.1.15/test/ps/linux-lf-header/setup
-+--- procps-3.1.15.old/test/ps/linux-lf-header/setup	2003-09-02 14:04:14.000000000 +1000
-++++ procps-3.1.15/test/ps/linux-lf-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=linux
-+-ARGS="-lf"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/mH-mix/header procps-3.1.15/test/ps/mH-mix/header
-+--- procps-3.1.15.old/test/ps/mH-mix/header	2003-10-02 12:38:52.000000000 +1000
-++++ procps-3.1.15/test/ps/mH-mix/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/mH-mix/setup procps-3.1.15/test/ps/mH-mix/setup
-+--- procps-3.1.15.old/test/ps/mH-mix/setup	2003-10-02 12:39:25.000000000 +1000
-++++ procps-3.1.15/test/ps/mH-mix/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="mH"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/mH-mix/stderr procps-3.1.15/test/ps/mH-mix/stderr
-+--- procps-3.1.15.old/test/ps/mH-mix/stderr	2003-10-02 12:40:18.000000000 +1000
-++++ procps-3.1.15/test/ps/mH-mix/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Thread flags conflict; can't use H with m or -m.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/mH-mix2/header procps-3.1.15/test/ps/mH-mix2/header
-+--- procps-3.1.15.old/test/ps/mH-mix2/header	2003-10-02 12:38:58.000000000 +1000
-++++ procps-3.1.15/test/ps/mH-mix2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/mH-mix2/setup procps-3.1.15/test/ps/mH-mix2/setup
-+--- procps-3.1.15.old/test/ps/mH-mix2/setup	2003-10-02 12:39:15.000000000 +1000
-++++ procps-3.1.15/test/ps/mH-mix2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-m H"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/mH-mix2/stderr procps-3.1.15/test/ps/mH-mix2/stderr
-+--- procps-3.1.15.old/test/ps/mH-mix2/stderr	2003-10-02 12:40:20.000000000 +1000
-++++ procps-3.1.15/test/ps/mH-mix2/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Thread flags conflict; can't use H with m or -m.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/mm-mix/header procps-3.1.15/test/ps/mm-mix/header
-+--- procps-3.1.15.old/test/ps/mm-mix/header	2003-10-02 12:37:41.000000000 +1000
-++++ procps-3.1.15/test/ps/mm-mix/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/mm-mix/setup procps-3.1.15/test/ps/mm-mix/setup
-+--- procps-3.1.15.old/test/ps/mm-mix/setup	2003-10-02 12:37:57.000000000 +1000
-++++ procps-3.1.15/test/ps/mm-mix/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-m m"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/mm-mix/stderr procps-3.1.15/test/ps/mm-mix/stderr
-+--- procps-3.1.15.old/test/ps/mm-mix/stderr	2003-10-02 12:38:11.000000000 +1000
-++++ procps-3.1.15/test/ps/mm-mix/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Thread flags conflict; can't use both m and -m.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/multi-sort/header procps-3.1.15/test/ps/multi-sort/header
-+--- procps-3.1.15.old/test/ps/multi-sort/header	2003-10-02 12:08:50.000000000 +1000
-++++ procps-3.1.15/test/ps/multi-sort/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/multi-sort/setup procps-3.1.15/test/ps/multi-sort/setup
-+--- procps-3.1.15.old/test/ps/multi-sort/setup	2003-10-02 12:09:10.000000000 +1000
-++++ procps-3.1.15/test/ps/multi-sort/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="--sort wchan --sort sess"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/multi-sort/stderr procps-3.1.15/test/ps/multi-sort/stderr
-+--- procps-3.1.15.old/test/ps/multi-sort/stderr	2003-10-02 12:09:23.000000000 +1000
-++++ procps-3.1.15/test/ps/multi-sort/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Multiple sort options.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/o-O/header procps-3.1.15/test/ps/o-O/header
-+--- procps-3.1.15.old/test/ps/o-O/header	2003-10-02 12:03:27.000000000 +1000
-++++ procps-3.1.15/test/ps/o-O/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/o-O/setup procps-3.1.15/test/ps/o-O/setup
-+--- procps-3.1.15.old/test/ps/o-O/setup	2003-10-02 12:04:40.000000000 +1000
-++++ procps-3.1.15/test/ps/o-O/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o wchan -O sess"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/o-O/stderr procps-3.1.15/test/ps/o-O/stderr
-+--- procps-3.1.15.old/test/ps/o-O/stderr	2003-10-02 12:06:35.000000000 +1000
-++++ procps-3.1.15/test/ps/o-O/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: option -O can not follow other format options.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/o-o/header procps-3.1.15/test/ps/o-o/header
-+--- procps-3.1.15.old/test/ps/o-o/header	2003-10-02 12:07:18.000000000 +1000
-++++ procps-3.1.15/test/ps/o-o/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- WCHAN SESS
-+diff -ruN procps-3.1.15.old/test/ps/o-o/setup procps-3.1.15/test/ps/o-o/setup
-+--- procps-3.1.15.old/test/ps/o-o/setup	2003-10-02 12:07:08.000000000 +1000
-++++ procps-3.1.15/test/ps/o-o/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o wchan -o sess"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/old-m-1/header procps-3.1.15/test/ps/old-m-1/header
-+--- procps-3.1.15.old/test/ps/old-m-1/header	2003-09-02 09:46:21.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-1/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY MAJFLT MINFLT TRS DRS SIZE SWAP RSS SHRD LIB DT COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/old-m-1/setup procps-3.1.15/test/ps/old-m-1/setup
-+--- procps-3.1.15.old/test/ps/old-m-1/setup	2003-09-02 09:46:06.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-1/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=old
-+-ARGS="-m"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/old-m-2/header procps-3.1.15/test/ps/old-m-2/header
-+--- procps-3.1.15.old/test/ps/old-m-2/header	2003-09-02 09:47:13.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-2/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY MAJFLT MINFLT TRS DRS SIZE SWAP RSS SHRD LIB DT COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/old-m-2/setup procps-3.1.15/test/ps/old-m-2/setup
-+--- procps-3.1.15.old/test/ps/old-m-2/setup	2003-09-02 09:47:47.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-2/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,4 +0,0 @@
-+-export CMD_ENV=unix
-+-export PS_PERSONALITY=old
-+-ARGS="-m"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/old-m-3/header procps-3.1.15/test/ps/old-m-3/header
-+--- procps-3.1.15.old/test/ps/old-m-3/header	2003-09-02 09:47:15.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-3/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY MAJFLT MINFLT TRS DRS SIZE SWAP RSS SHRD LIB DT COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/old-m-3/setup procps-3.1.15/test/ps/old-m-3/setup
-+--- procps-3.1.15.old/test/ps/old-m-3/setup	2003-09-02 09:47:58.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-3/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export CMD_ENV=old
-+-ARGS="m"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/old-m-4/header procps-3.1.15/test/ps/old-m-4/header
-+--- procps-3.1.15.old/test/ps/old-m-4/header	2003-09-02 09:47:16.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-4/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY MAJFLT MINFLT TRS DRS SIZE SWAP RSS SHRD LIB DT COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/old-m-4/setup procps-3.1.15/test/ps/old-m-4/setup
-+--- procps-3.1.15.old/test/ps/old-m-4/setup	2003-09-02 09:50:11.000000000 +1000
-++++ procps-3.1.15/test/ps/old-m-4/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-export I_WANT_A_BROKEN_PS=
-+-ARGS="-m"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/pcpu-sort-threaded/setup procps-3.1.15/test/ps/pcpu-sort-threaded/setup
-+--- procps-3.1.15.old/test/ps/pcpu-sort-threaded/setup	2003-10-19 13:48:43.000000000 +1000
-++++ procps-3.1.15/test/ps/pcpu-sort-threaded/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,8 +0,0 @@
-+-ARGS="-e --sort=pcpu -o cp="
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  sort -n < stdout > sorted.tmp
-+-  diff -Naurd stdout sorted.tmp >> /dev/null
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/suv-conflicts/header procps-3.1.15/test/ps/suv-conflicts/header
-+--- procps-3.1.15.old/test/ps/suv-conflicts/header	2003-10-02 12:12:30.000000000 +1000
-++++ procps-3.1.15/test/ps/suv-conflicts/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/suv-conflicts/setup procps-3.1.15/test/ps/suv-conflicts/setup
-+--- procps-3.1.15.old/test/ps/suv-conflicts/setup	2003-10-02 12:13:26.000000000 +1000
-++++ procps-3.1.15/test/ps/suv-conflicts/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="suv"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/suv-conflicts/stderr procps-3.1.15/test/ps/suv-conflicts/stderr
-+--- procps-3.1.15.old/test/ps/suv-conflicts/stderr	2003-10-02 12:13:41.000000000 +1000
-++++ procps-3.1.15/test/ps/suv-conflicts/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Conflicting format options.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/sysv-selection/header procps-3.1.15/test/ps/sysv-selection/header
-+--- procps-3.1.15.old/test/ps/sysv-selection/header	2003-09-04 16:13:34.000000000 +1000
-++++ procps-3.1.15/test/ps/sysv-selection/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/sysv-selection/setup procps-3.1.15/test/ps/sysv-selection/setup
-+--- procps-3.1.15.old/test/ps/sysv-selection/setup	2003-09-13 13:59:04.000000000 +1000
-++++ procps-3.1.15/test/ps/sysv-selection/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,25 +0,0 @@
-+-ARGS="-m"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-rm -f misc.tmp ready.tmp typescript.tmp
-+-
-+-./got-no-tty
-+-# this'll do but... WHERE ARE THE MAN PAGES FOR PTY STUFF???
-+-(SHELL=`pwd`/script-child script typescript.tmp &>/dev/null) &
-+-while [ ! -f ready.tmp ] ; do sleep 0.01 ; done
-+-. ready.tmp
-+-
-+-evalfn () {
-+-   THIS_TTY=`tty | colrm 1 5`
-+-   lines1=`awk '{print $2}' < stdout | sort -u | egrep "^($THIS_TTY)$"               | wc -l`
-+-   lines3=`awk '{print $2}' < stdout | sort -u | egrep "^($SHELL_TTY|$THIS_TTY|\?)$" | wc -l`
-+-   [ $lines1 == 1 ] && [ $lines3 == 1 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 got-no-tty
-+-  kill -9 $SHELL_PID  # the others should freely die
-+-  rm -f misc.tmp ready.tmp typescript.tmp
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-H/header procps-3.1.15/test/ps/thread-nosort-H/header
-+--- procps-3.1.15.old/test/ps/thread-nosort-H/header	2003-10-20 10:57:52.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-H/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-H/setup procps-3.1.15/test/ps/thread-nosort-H/setup
-+--- procps-3.1.15.old/test/ps/thread-nosort-H/setup	2003-10-20 10:50:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-H/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once H"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 3 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-HL/header procps-3.1.15/test/ps/thread-nosort-HL/header
-+--- procps-3.1.15.old/test/ps/thread-nosort-HL/header	2003-10-20 10:57:52.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-HL/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID LWP TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-HL/setup procps-3.1.15/test/ps/thread-nosort-HL/setup
-+--- procps-3.1.15.old/test/ps/thread-nosort-HL/setup	2003-10-20 10:50:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-HL/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once H -L"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 3 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-Hm/setup procps-3.1.15/test/ps/thread-nosort-Hm/setup
-+--- procps-3.1.15.old/test/ps/thread-nosort-Hm/setup	2003-10-20 10:50:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-Hm/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-C clone-once Hm"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-Hm/stderr procps-3.1.15/test/ps/thread-nosort-Hm/stderr
-+--- procps-3.1.15.old/test/ps/thread-nosort-Hm/stderr	2003-10-20 10:58:35.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-Hm/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Thread flags conflict; can't use H with m or -m.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-L/header procps-3.1.15/test/ps/thread-nosort-L/header
-+--- procps-3.1.15.old/test/ps/thread-nosort-L/header	2003-10-20 10:57:52.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-L/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID LWP TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-L/setup procps-3.1.15/test/ps/thread-nosort-L/setup
-+--- procps-3.1.15.old/test/ps/thread-nosort-L/setup	2003-10-20 10:50:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-L/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once -L"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 3 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-default/header procps-3.1.15/test/ps/thread-nosort-default/header
-+--- procps-3.1.15.old/test/ps/thread-nosort-default/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-default/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-default/setup procps-3.1.15/test/ps/thread-nosort-default/setup
-+--- procps-3.1.15.old/test/ps/thread-nosort-default/setup	2003-10-20 10:50:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-default/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 2 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-m/header procps-3.1.15/test/ps/thread-nosort-m/header
-+--- procps-3.1.15.old/test/ps/thread-nosort-m/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-m/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-m/setup procps-3.1.15/test/ps/thread-nosort-m/setup
-+--- procps-3.1.15.old/test/ps/thread-nosort-m/setup	2003-10-20 10:50:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-m/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once m"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 4 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-mL/header procps-3.1.15/test/ps/thread-nosort-mL/header
-+--- procps-3.1.15.old/test/ps/thread-nosort-mL/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-mL/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID LWP TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/thread-nosort-mL/setup procps-3.1.15/test/ps/thread-nosort-mL/setup
-+--- procps-3.1.15.old/test/ps/thread-nosort-mL/setup	2003-10-20 10:50:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-nosort-mL/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once -mL"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 4 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-H/header procps-3.1.15/test/ps/thread-sorted-H/header
-+--- procps-3.1.15.old/test/ps/thread-sorted-H/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-H/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-H/setup procps-3.1.15/test/ps/thread-sorted-H/setup
-+--- procps-3.1.15.old/test/ps/thread-sorted-H/setup	2003-10-20 10:45:59.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-H/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once --sort=pid H"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 3 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-HL/header procps-3.1.15/test/ps/thread-sorted-HL/header
-+--- procps-3.1.15.old/test/ps/thread-sorted-HL/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-HL/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID LWP TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-HL/setup procps-3.1.15/test/ps/thread-sorted-HL/setup
-+--- procps-3.1.15.old/test/ps/thread-sorted-HL/setup	2003-10-20 10:45:16.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-HL/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once --sort=pid H -L"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 3 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-Hm/setup procps-3.1.15/test/ps/thread-sorted-Hm/setup
-+--- procps-3.1.15.old/test/ps/thread-sorted-Hm/setup	2003-10-20 10:47:00.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-Hm/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-C clone-once --sort=pid Hm"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-Hm/stderr procps-3.1.15/test/ps/thread-sorted-Hm/stderr
-+--- procps-3.1.15.old/test/ps/thread-sorted-Hm/stderr	2003-10-20 10:58:47.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-Hm/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Thread flags conflict; can't use H with m or -m.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-L/header procps-3.1.15/test/ps/thread-sorted-L/header
-+--- procps-3.1.15.old/test/ps/thread-sorted-L/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-L/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID LWP TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-L/setup procps-3.1.15/test/ps/thread-sorted-L/setup
-+--- procps-3.1.15.old/test/ps/thread-sorted-L/setup	2003-10-20 10:45:35.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-L/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once --sort=pid -L"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 3 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-default/header procps-3.1.15/test/ps/thread-sorted-default/header
-+--- procps-3.1.15.old/test/ps/thread-sorted-default/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-default/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-default/setup procps-3.1.15/test/ps/thread-sorted-default/setup
-+--- procps-3.1.15.old/test/ps/thread-sorted-default/setup	2003-10-20 10:47:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-default/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once --sort=pid"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 2 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-m/header procps-3.1.15/test/ps/thread-sorted-m/header
-+--- procps-3.1.15.old/test/ps/thread-sorted-m/header	2003-10-20 10:57:53.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-m/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY STAT TIME COMMAND
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-m/setup procps-3.1.15/test/ps/thread-sorted-m/setup
-+--- procps-3.1.15.old/test/ps/thread-sorted-m/setup	2003-10-20 10:42:59.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-m/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once --sort=pid m"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 4 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-mL/header procps-3.1.15/test/ps/thread-sorted-mL/header
-+--- procps-3.1.15.old/test/ps/thread-sorted-mL/header	2003-10-20 10:57:54.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-mL/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID LWP TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/thread-sorted-mL/setup procps-3.1.15/test/ps/thread-sorted-mL/setup
-+--- procps-3.1.15.old/test/ps/thread-sorted-mL/setup	2003-10-20 10:44:46.000000000 +1000
-++++ procps-3.1.15/test/ps/thread-sorted-mL/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C clone-once --sort=pid -mL"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./clone-once
-+-
-+-evalfn () {
-+-   [ `wc -l < stdout` == 4 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 clone-once
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-comm/setup procps-3.1.15/test/ps/unix-comm/setup
-+--- procps-3.1.15.old/test/ps/unix-comm/setup	2003-09-02 10:33:46.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-comm/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,7 +0,0 @@
-+-ARGS=
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  grep "ps$" stdout >> /dev/null
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-doc/setup procps-3.1.15/test/ps/unix-doc/setup
-+--- procps-3.1.15.old/test/ps/unix-doc/setup	2003-09-03 13:38:37.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-doc/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,37 +0,0 @@
-+-# The UNIX+POSIX standard requires that, except for "args" and "comm",
-+-# the documentation must warn about any implementation-defined
-+-# format specifiers that may contain blanks.
-+-#
-+-# Using "ps L" to grab the list isn't proper, but it's needed.
-+-#
-+-# This is our list for the man page:
-+-#
-+-#args         COMMAND 
-+-#cmd          CMD     
-+-#comm         COMMAND 
-+-#command      COMMAND 
-+-#fname        COMMAND 
-+-#ucmd         CMD     
-+-#ucomm        COMMAND 
-+-#lstart       STARTED 
-+-#bsdstart     START   
-+-#start        STARTED 
-+-
-+-# It gets to 819 last I checked
-+-export COLUMNS=1111
-+-
-+-biglist=`$TESTME L \
-+-  | egrep -v '^(comm|args|cmd|comm|command|fname|ucmd|ucomm|lstart|bsdstart|start) ' \
-+-  | awk '{printf("%s,",$1);}'`
-+-numcols=`echo $biglist | tr -dc , | wc -c`
-+-
-+-ARGS=-eo$biglist
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  while read -a myarray; do
-+-    [ ${#myarray[*]} == $numcols ] || return 1
-+-  done < stdout
-+-  return 0
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-f-args/setup procps-3.1.15/test/ps/unix-f-args/setup
-+--- procps-3.1.15.old/test/ps/unix-f-args/setup	2003-09-02 10:33:18.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-f-args/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,7 +0,0 @@
-+-ARGS="-f"
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  grep "ps -f$" stdout >> /dev/null
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-f-header/header procps-3.1.15/test/ps/unix-f-header/header
-+--- procps-3.1.15.old/test/ps/unix-f-header/header	2003-09-02 08:40:35.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-f-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- UID PID PPID C STIME TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/unix-f-header/setup procps-3.1.15/test/ps/unix-f-header/setup
-+--- procps-3.1.15.old/test/ps/unix-f-header/setup	2003-09-02 08:37:18.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-f-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-f"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-fl-header/header procps-3.1.15/test/ps/unix-fl-header/header
-+--- procps-3.1.15.old/test/ps/unix-fl-header/header	2003-09-02 08:53:56.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-fl-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/unix-fl-header/setup procps-3.1.15/test/ps/unix-fl-header/setup
-+--- procps-3.1.15.old/test/ps/unix-fl-header/setup	2003-09-02 08:55:32.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-fl-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-fl"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-header/header procps-3.1.15/test/ps/unix-header/header
-+--- procps-3.1.15.old/test/ps/unix-header/header	2003-09-02 08:53:56.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/unix-header/setup procps-3.1.15/test/ps/unix-header/setup
-+--- procps-3.1.15.old/test/ps/unix-header/setup	2003-09-02 08:55:09.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS=
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-l-header/header procps-3.1.15/test/ps/unix-l-header/header
-+--- procps-3.1.15.old/test/ps/unix-l-header/header	2003-09-02 08:53:56.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-l-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/unix-l-header/setup procps-3.1.15/test/ps/unix-l-header/setup
-+--- procps-3.1.15.old/test/ps/unix-l-header/setup	2003-09-02 08:55:49.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-l-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-l"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-lf-header/header procps-3.1.15/test/ps/unix-lf-header/header
-+--- procps-3.1.15.old/test/ps/unix-lf-header/header	2003-09-02 08:53:56.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-lf-header/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- F S UID PID PPID C PRI NI ADDR SZ WCHAN STIME TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/unix-lf-header/setup procps-3.1.15/test/ps/unix-lf-header/setup
-+--- procps-3.1.15.old/test/ps/unix-lf-header/setup	2003-09-02 08:55:39.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-lf-header/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-lf"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-o-header-all/header procps-3.1.15/test/ps/unix-o-header-all/header
-+--- procps-3.1.15.old/test/ps/unix-o-header-all/header	2003-09-02 09:23:24.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-o-header-all/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- COMMAND COMMAND ELAPSED GROUP NI %CPU PGID PID PPID RGROUP RUSER TIME TT USER VSZ
-+diff -ruN procps-3.1.15.old/test/ps/unix-o-header-all/setup procps-3.1.15/test/ps/unix-o-header-all/setup
-+--- procps-3.1.15.old/test/ps/unix-o-header-all/setup	2003-09-02 09:23:11.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-o-header-all/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o args,comm,etime,group,nice,pcpu,pgid,pid,ppid,rgroup,ruser,time,tty,user,vsz"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-o-header-dup/header procps-3.1.15/test/ps/unix-o-header-dup/header
-+--- procps-3.1.15.old/test/ps/unix-o-header-dup/header	2003-09-02 09:16:50.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-o-header-dup/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TT PID PPID
-+diff -ruN procps-3.1.15.old/test/ps/unix-o-header-dup/setup procps-3.1.15/test/ps/unix-o-header-dup/setup
-+--- procps-3.1.15.old/test/ps/unix-o-header-dup/setup	2003-09-02 09:16:22.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-o-header-dup/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o pid,tty -o pid,ppid"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-o-header-evil/header procps-3.1.15/test/ps/unix-o-header-evil/header
-+--- procps-3.1.15.old/test/ps/unix-o-header-evil/header	2003-09-02 12:39:36.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-o-header-evil/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PPID PID FOO,tty PPID
-+diff -ruN procps-3.1.15.old/test/ps/unix-o-header-evil/setup procps-3.1.15/test/ps/unix-o-header-evil/setup
-+--- procps-3.1.15.old/test/ps/unix-o-header-evil/setup	2003-09-02 12:39:19.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-o-header-evil/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-o ppid -o pid,ppid=FOO,tty -o ppid"
-+-GOOD=0
-+diff -ruN procps-3.1.15.old/test/ps/unix-o-header-nil/setup procps-3.1.15/test/ps/unix-o-header-nil/setup
-+--- procps-3.1.15.old/test/ps/unix-o-header-nil/setup	2003-09-02 10:08:33.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-o-header-nil/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,7 +0,0 @@
-+-ARGS="-o pid="
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  ! grep PID stdout >> /dev/null
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-selection/header procps-3.1.15/test/ps/unix-selection/header
-+--- procps-3.1.15.old/test/ps/unix-selection/header	2003-09-04 16:13:48.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-selection/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- PID TTY TIME CMD
-+diff -ruN procps-3.1.15.old/test/ps/unix-selection/setup procps-3.1.15/test/ps/unix-selection/setup
-+--- procps-3.1.15.old/test/ps/unix-selection/setup	2003-09-13 14:00:48.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-selection/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,25 +0,0 @@
-+-ARGS=
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-rm -f misc.tmp ready.tmp typescript.tmp
-+-
-+-./got-no-tty
-+-# this'll do but... WHERE ARE THE MAN PAGES FOR PTY STUFF???
-+-(SHELL=`pwd`/script-child script typescript.tmp &>/dev/null) &
-+-while [ ! -f ready.tmp ] ; do sleep 0.01 ; done
-+-. ready.tmp
-+-
-+-evalfn () {
-+-   THIS_TTY=`tty | colrm 1 5`
-+-   lines1=`awk '{print $2}' < stdout | sort -u | egrep "^($THIS_TTY)$"               | wc -l`
-+-   lines3=`awk '{print $2}' < stdout | sort -u | egrep "^($SHELL_TTY|$THIS_TTY|\?)$" | wc -l`
-+-   [ $lines1 == 1 ] && [ $lines3 == 1 ]
-+-}
-+-
-+-killfn () {
-+-  killall -9 got-no-tty
-+-  kill -9 $SHELL_PID  # the others should freely die
-+-  rm -f misc.tmp ready.tmp typescript.tmp
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-tty-default/setup procps-3.1.15/test/ps/unix-tty-default/setup
-+--- procps-3.1.15.old/test/ps/unix-tty-default/setup	2003-09-02 11:36:37.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-tty-default/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS=
-+-GOOD=0
-+-EVALFN=1
-+-
-+-# default output is restricted to this tty
-+-MYTTY=`tty`
-+-
-+-evalfn () {
-+-  PSTTY=`awk '!/TTY/{print $2}' < stdout | uniq`
-+-  if [ /dev/$PSTTY != $MYTTY ] ; then
-+-    return 1
-+-  fi
-+-  return 0
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-tty-name/setup procps-3.1.15/test/ps/unix-tty-name/setup
-+--- procps-3.1.15.old/test/ps/unix-tty-name/setup	2003-09-02 10:42:55.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-tty-name/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,9 +0,0 @@
-+-ARGS="-otty= -p$$"
-+-GOOD=0
-+-EVALFN=1
-+-
-+-evalfn () {
-+-  MYTTY=`tty`
-+-  PSTTY=`printf /dev/ ; cat stdout`
-+-  [ $MYTTY == $PSTTY ]
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-tty-names/setup procps-3.1.15/test/ps/unix-tty-names/setup
-+--- procps-3.1.15.old/test/ps/unix-tty-names/setup	2003-09-02 11:17:09.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-tty-names/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,26 +0,0 @@
-+-ARGS="-eotty="
-+-GOOD=0
-+-EVALFN=1
-+-
-+-# the UNIX spec allows:
-+-#
-+-# /dev/ttyS0   as ttyS0
-+-# /dev/ttyS0   as S0          (OK to chop a leading "tty")
-+-# /dev/console as console
-+-# /foo/bar     as bar or /foo/bar  (poorly unspecified)
-+-# -nothing-    as ? or -           (poorly unspecified, we use '?')
-+-#
-+-# Also, the format must agree with what "who" uses.
-+-# Linux "who" doesn't strip "tty" off of /dev/ttyS0, etc.,
-+-# so that's illegal in a Linux environment.
-+-#
-+-# junk the '?' to avoid shell wildcard expansion
-+-
-+-evalfn () {
-+-  for i in `tr -d '?' < stdout | sort -u` ; do
-+-    if [ ! -c /dev/$i -a ! -c /$i ] ; then
-+-      return 1
-+-    fi
-+-  done
-+-  return 0
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-vsz/setup procps-3.1.15/test/ps/unix-vsz/setup
-+--- procps-3.1.15.old/test/ps/unix-vsz/setup	2003-09-11 10:24:38.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-vsz/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,27 +0,0 @@
-+-# The standard describes the "vsz" format as:
-+-#        The size of the process in (virtual) memory
-+-#        in 1024 byte units as a decimal integer.
-+-#
-+-# It's hard to tell 1000-byte from 1024-byte units,
-+-# but easy to tell 1024-byte from 512-byte or 2 kB.
-+-# On a 64-bit system, watch for 4 GB troubles as well.
-+-
-+-# throw in the PID to ensure whitespace on the left
-+-ARGS="-C gigabyte -o pid= -o vsz="
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-BITSIZE=`./gigabyte`
-+-
-+-evalfn () {
-+-  if [ $BITSIZE == 32bit ] ; then
-+-    egrep ' 1......$' stdout >> /dev/null
-+-  else
-+-    egrep ' 1.......$' stdout >> /dev/null
-+-  fi
-+-}
-+-
-+-killfn () {
-+-  killall -9 gigabyte
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/unix-wchan/setup procps-3.1.15/test/ps/unix-wchan/setup
-+--- procps-3.1.15.old/test/ps/unix-wchan/setup	2003-09-02 12:25:15.000000000 +1000
-++++ procps-3.1.15/test/ps/unix-wchan/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,11 +0,0 @@
-+-ARGS="-eowchan="
-+-GOOD=0
-+-EVALFN=1
-+-
-+-# Make sure we're getting back real wchan data,
-+-# not just "WCHAN", "-", "0", "*", and hex digits.
-+-# Assumes usage of letters [g-z].
-+-
-+-evalfn () {
-+-  egrep '[g-z]' stdout >> /dev/null
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/y-needs-l/header procps-3.1.15/test/ps/y-needs-l/header
-+--- procps-3.1.15.old/test/ps/y-needs-l/header	2003-10-02 12:10:34.000000000 +1000
-++++ procps-3.1.15/test/ps/y-needs-l/header	1970-01-01 10:00:00.000000000 +1000
-+@@ -1 +0,0 @@
-+- 
-+\ No newline at end of file
-+diff -ruN procps-3.1.15.old/test/ps/y-needs-l/setup procps-3.1.15/test/ps/y-needs-l/setup
-+--- procps-3.1.15.old/test/ps/y-needs-l/setup	2003-10-02 12:10:45.000000000 +1000
-++++ procps-3.1.15/test/ps/y-needs-l/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,2 +0,0 @@
-+-ARGS="-y"
-+-GOOD=1
-+diff -ruN procps-3.1.15.old/test/ps/y-needs-l/stderr procps-3.1.15/test/ps/y-needs-l/stderr
-+--- procps-3.1.15.old/test/ps/y-needs-l/stderr	2003-10-02 12:10:56.000000000 +1000
-++++ procps-3.1.15/test/ps/y-needs-l/stderr	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,23 +0,0 @@
-+-ERROR: Modifier -y without format -l makes no sense.
-+-********* simple selection *********  ********* selection by list *********
-+--A all processes                      -C by command name
-+--N negate selection                   -G by real group ID (supports names)
-+--a all w/ tty except session leaders  -U by real user ID (supports names)
-+--d all except session leaders         -g by session leader OR by group name
-+--e all processes                      -p by process ID
-+-T  all processes on this terminal     -s processes in the sessions given
-+-a  all w/ tty, including other users  -t by tty
-+-g  all, even group leaders!           -u by effective user ID (supports names)
-+-r  only running processes             U  processes for specified users
-+-x  processes w/o controlling ttys     t  by tty
-+-*********** output format **********  *********** long options ***********
-+--o,o user-defined  -f full            --Group --User --pid --cols --ppid
-+--j,j job control   s  signal          --group --user --sid --rows
-+--O,O preloaded -o  v  virtual memory  --cumulative --format --deselect
-+--l,l long          u  user-oriented   --sort --tty --forest --version
-+--F   extra full    X  registers       --heading --no-heading
-+-                    ********* misc options *********
-+--V,V show version       L  list format codes  f  ASCII art forest
-+--m,m show threads       S  children in sum    -y change -l format
-+--n,N set namelist file  c  true command name  n  numeric WCHAN,UID
-+--w,w wide output        e  show environment   -H process hierarchy
-+diff -ruN procps-3.1.15.old/test/ps/zombie-args/setup procps-3.1.15/test/ps/zombie-args/setup
-+--- procps-3.1.15.old/test/ps/zombie-args/setup	2003-09-04 13:43:31.000000000 +1000
-++++ procps-3.1.15/test/ps/zombie-args/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,18 +0,0 @@
-+-ARGS="-H -C the_living_dead -o args"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-# the -H is just to ensure predictable output ordering
-+-
-+-# assumes that the processes won't get swapped out before ps runs
-+-
-+-./the_living_dead
-+-
-+-evalfn () {
-+-  diff -Naurd stdout $TESTNAME/stdout >> /dev/null
-+-}
-+-
-+-killfn () {
-+-  killall -9 the_living_dead
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/zombie-args/stdout procps-3.1.15/test/ps/zombie-args/stdout
-+--- procps-3.1.15.old/test/ps/zombie-args/stdout	2003-09-04 13:44:01.000000000 +1000
-++++ procps-3.1.15/test/ps/zombie-args/stdout	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-COMMAND
-+-./the_living_dead
-+-  [the_living_dead] <defunct>
-+diff -ruN procps-3.1.15.old/test/ps/zombie-comm/setup procps-3.1.15/test/ps/zombie-comm/setup
-+--- procps-3.1.15.old/test/ps/zombie-comm/setup	2003-09-04 13:43:44.000000000 +1000
-++++ procps-3.1.15/test/ps/zombie-comm/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,16 +0,0 @@
-+-ARGS="-H -C the_living_dead -o comm"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-# the -H is just to ensure predictable output ordering
-+-
-+-./the_living_dead
-+-
-+-evalfn () {
-+-  diff -Naurd stdout $TESTNAME/stdout >> /dev/null
-+-}
-+-
-+-killfn () {
-+-  killall -9 the_living_dead
-+-}
-+diff -ruN procps-3.1.15.old/test/ps/zombie-comm/stdout procps-3.1.15/test/ps/zombie-comm/stdout
-+--- procps-3.1.15.old/test/ps/zombie-comm/stdout	2003-09-04 13:44:12.000000000 +1000
-++++ procps-3.1.15/test/ps/zombie-comm/stdout	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,3 +0,0 @@
-+-COMMAND
-+-the_living_dead
-+-  the_living_dead <defunct>
-+diff -ruN procps-3.1.15.old/test/ps/zombie-wchan/setup procps-3.1.15/test/ps/zombie-wchan/setup
-+--- procps-3.1.15.old/test/ps/zombie-wchan/setup	2003-09-04 13:52:41.000000000 +1000
-++++ procps-3.1.15/test/ps/zombie-wchan/setup	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,14 +0,0 @@
-+-ARGS="-C the_living_dead -o wchan,stat,comm"
-+-GOOD=0
-+-EVALFN=1
-+-KILLFN=1
-+-
-+-./the_living_dead
-+-
-+-evalfn () {
-+-  egrep 'exit.*Z.*defunct' stdout >> /dev/null
-+-}
-+-
-+-killfn () {
-+-  killall -9 the_living_dead
-+-}
-+diff -ruN procps-3.1.15.old/test/runtests procps-3.1.15/test/runtests
-+--- procps-3.1.15.old/test/runtests	2003-09-03 12:09:08.000000000 +1000
-++++ procps-3.1.15/test/runtests	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,4 +0,0 @@
-+-#!/bin/bash
-+-
-+-export TESTME=${PSPROG:-../ps/ps}
-+-for i in ps/*-* ; do ./onetest $i ; done
-+diff -ruN procps-3.1.15.old/test/script-child procps-3.1.15/test/script-child
-+--- procps-3.1.15.old/test/script-child	2003-09-04 14:43:28.000000000 +1000
-++++ procps-3.1.15/test/script-child	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,10 +0,0 @@
-+-#!/bin/bash
-+-#
-+-# usage:
-+-# SHELL=/path/to/this/script script trashfile
-+-
-+-echo SCRIPT_PID=$PPID > misc.tmp
-+-echo SHELL_PID=$$ >> misc.tmp
-+-echo SHELL_TTY=`/usr/bin/tty | colrm 1 5` >> misc.tmp
-+-mv misc.tmp ready.tmp   # atomic op
-+-while /bin/true ; do sleep 42 ; done
-+diff -ruN procps-3.1.15.old/test/sid-breaks-ttys.c procps-3.1.15/test/sid-breaks-ttys.c
-+--- procps-3.1.15.old/test/sid-breaks-ttys.c	2003-09-08 13:28:24.000000000 +1000
-++++ procps-3.1.15/test/sid-breaks-ttys.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,38 +0,0 @@
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-
-+-static pid_t one;
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-int main(int argc, char *argv[]){
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-  one = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-  // second one exits, to enable setsid(), and the resulting
-+-  // zombie will be reaped by init after 1st process killed
-+-  if(fork()) _exit(0);
-+-
-+-  if(setsid()==-1){
-+-    kill(one,SIGKILL); // hopefully the shell will complain
-+-    _exit(42); // kind of tough to report errors
-+-  }
-+-
-+-  kill(one,SIGHUP); // let the shell know we're ready
-+-
-+-  hang();
-+-
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/sidious.c procps-3.1.15/test/sidious.c
-+--- procps-3.1.15.old/test/sidious.c	2003-09-08 13:58:20.000000000 +1000
-++++ procps-3.1.15/test/sidious.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,77 +0,0 @@
-+-// ps fTo sess,pgid,pid,tty,ppid,tpgid,args -C a.out
-+-
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-#include <sys/stat.h>
-+-#include <fcntl.h>
-+-#include <stdlib.h> // undocumented grantpt,unlockpt,ptsname,openpt,posix_openpt
-+-//#include <pty.h>    // undocumented openpty,forkpty
-+-
-+-static pid_t one;
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-//static void sigchld_handler(int signo){
-+-//  (void)signo;
-+-//  kill(one,SIGHUP);          // kill parent
-+-//}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-int main(int argc, char *argv[]){
-+-  int master;
-+-  int slave;
-+-
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-  one = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-  // second one exits, to enable setsid(), and the resulting
-+-  // zombie will be reaped by init after 1st process killed
-+-  if(fork()) _exit(0);
-+-
-+-
-+-  master = open("/dev/ptmx", O_RDWR|O_NOCTTY);
-+-
-+-  // could fork, but don't bother
-+-  // (won't be doing anything with the master side)
-+-
-+-  // could change child's UID, but don't bother
-+-  // (would make the tests require running as root)
-+-
-+-  // not in the man pages!!!
-+-  grantpt(master);
-+-  unlockpt(master);
-+-
-+-  if(setsid()==-1){
-+-    kill(one,SIGKILL); // hopefully the shell will complain
-+-    _exit(42); // kind of tough to report errors
-+-  }
-+-
-+-  slave = open(ptsname(master), O_RDWR);
-+-#ifdef I_PUSH
-+-  // push STREAMS tty stuff, just to have an example of it
-+-  ioctl(slave, I_PUSH, "ptem");
-+-  ioctl(slave, I_PUSH, "ldterm");
-+-#endif
-+-#ifdef TIOCSCTTY
-+-  // On SysV, slave open got us a TTY. On BSD, we must do this:
-+-  ioctl(fd, TIOCSCTTY, NULL);
-+-#endif
-+-
-+-
-+-  kill(one,SIGHUP); // let the shell know we're ready
-+-
-+-  hang();
-+-
-+-  return 0;
-+-}
-+diff -ruN procps-3.1.15.old/test/th.c procps-3.1.15/test/th.c
-+--- procps-3.1.15.old/test/th.c	2003-09-14 01:35:42.000000000 +1000
-++++ procps-3.1.15/test/th.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,16 +0,0 @@
-+-#include <unistd.h>
-+-#include <pthread.h>
-+-
-+-void *hanger(void *vp){
-+-  (void)vp;
-+-  for(;;) pause();
-+-}
-+-
-+-int main(int argc, char *argv[]){
-+-  pthread_t thread;
-+-  (void)argc;
-+-  (void)argv;
-+-  pthread_create(&thread, NULL, hanger, NULL);
-+-  hanger(NULL);
-+-  return 0; // keep gcc happy
-+-}
-+diff -ruN procps-3.1.15.old/test/the_living_dead.c procps-3.1.15/test/the_living_dead.c
-+--- procps-3.1.15.old/test/the_living_dead.c	2003-09-04 13:36:54.000000000 +1000
-++++ procps-3.1.15/test/the_living_dead.c	1970-01-01 10:00:00.000000000 +1000
-+@@ -1,39 +0,0 @@
-+-#include <sys/types.h>
-+-#include <unistd.h>
-+-#include <signal.h>
-+-
-+-static pid_t one;
-+-
-+-static void die(int signo){
-+-  (void)signo;
-+-  _exit(0);
-+-}
-+-
-+-static void sigchld_handler(int signo){
-+-  (void)signo;
-+-  kill(one,SIGHUP);          // kill parent
-+-}
-+-
-+-static void hang(void){
-+-  for(;;) pause();
-+-}
-+-
-+-int main(int argc, char *argv[]){
-+-  pid_t three;
-+-
-+-  (void)argc;
-+-  (void)argv;
-+-
-+-  one = getpid();
-+-  signal(SIGHUP,die);
-+-  if(fork()) hang();    // parent later killed as readyness signal
-+-
-+-  three = fork();
-+-  if(three){
-+-    signal(SIGCHLD,sigchld_handler);
-+-    kill(three,SIGHUP);   // create the zombie
-+-  }
-+-
-+-  hang();
-+-  return 0;
-+-}
---- procps-3.1.15.orig/debian/control
-+++ procps-3.1.15/debian/control
-@@ -0,0 +1,31 @@
-+Source: procps
-+Section: base
-+Priority: required
-+Maintainer: Craig Small <csmall at debian.org>
-+Build-Depends: debhelper (>> 4.1.1), libncurses5-dev, make (>= 3.78.1-8), dpatch
-+Standards-Version: 3.6.0
-+
-+Package: procps
-+Architecture: any
-+Provides: watch
-+Depends: ${shlibs:Depends}
-+Conflicts: watch, libproc-dev (<< 1:1.2.6-2), w-bassman (<< 1.0-3), procps-nonfree, pgrep (<< 3.3-5)
-+Replaces: watch, bsdutils (<< 2.9x-1)
-+Recommends: psmisc
-+Description: The /proc file system utilities
-+ These are utilities to browse the /proc filesystem, which is not a real file
-+ system but a way for the kernel to provide information about the status of
-+ entries in its process table. (e.g. running, stopped or "zombie")
-+ Both command line and full screen utilities are provided. Ncurses is needed
-+ for the full screen utilities.  More information can be found at procps
-+ website http://procps.sf.net/
-+
-+Package: libproc-dev
-+Architecture: any
-+Section: libdevel
-+Priority: optional
-+Depends: libc6-dev, procps (= ${Source-Version})
-+Description: library for accessing process information from /proc
-+ These are the header files for libproc. Some packages using libproc
-+ to access process information from /proc need these to compile.
-+
---- procps-3.1.15.orig/debian/rules
-+++ procps-3.1.15/debian/rules
-@@ -0,0 +1,99 @@
-+#!/usr/bin/make -f
-+# Sample debian/rules that uses debhelper.
-+# GNU copyright 1997 to 1999 by Joey Hess.
-+
-+# Uncomment this to turn on verbose mode.
-+#export DH_VERBOSE=1
-+
-+# Include dpatch stuff
-+include /usr/share/dpatch/dpatch.make
-+
-+PACKAGE="procps"
-+
-+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-+	INSTALL_PROGRAM += -s
-+endif
-+
-+
-+build: build-stamp
-+
-+build-stamp: patch-stamp
-+	dh_testdir
-+
-+	# Add here commands to compile the package.
-+	mkdir static
-+	SHARED=0 $(MAKE) proc/libproc.a
-+	mv proc/libproc.a static
-+	$(MAKE) clean
-+	$(MAKE) W_SHOWFROM=\-DW_SHOWFROM
-+
-+	touch build-stamp
-+
-+clean: clean1 unpatch
-+clean1:
-+	dh_testdir
-+	dh_testroot
-+	rm -f build-stamp 
-+
-+	# Add here commands to clean up after the build process.
-+	-$(MAKE) clean
-+	-rm -rf static
-+
-+	dh_clean
-+
-+install: build
-+	dh_testdir
-+	dh_testroot
-+	dh_clean -k
-+	dh_installdirs
-+
-+	# Add here commands to install the package into debian/procps.
-+	$(MAKE) ln_f="ln -sf" ldconfig=echo DESTDIR=$(CURDIR)/debian/procps install
-+	install --mode 644 -o root -g root debian/sysctl.conf $(CURDIR)/debian/procps/etc
-+	# Rename w as there are two of them
-+	(cd $(CURDIR)/debian/procps/usr/bin && mv w w.procps )
-+	(cd $(CURDIR)/debian/procps/usr/share/man/man1 && mv w.1 w.procps.1 )
-+
-+	# Work-around until proc includes fixed
-+	(cp proc/*.h $(CURDIR)/debian/procps/usr/include/proc)
-+	cp static/libproc.a $(CURDIR)/debian/libproc-dev/usr/lib
-+
-+	dh_movefiles --sourcedir=debian/procps
-+	rmdir $(CURDIR)/debian/procps/usr/include/proc
-+
-+# Build architecture-independent files here.
-+binary-indep: build install
-+# We have nothing to do by default.
-+
-+# Build architecture-dependent files here.
-+binary-arch: build install
-+	dh_testdir
-+	dh_testroot
-+#	dh_installdebconf	
-+	dh_installdocs
-+	dh_installexamples
-+	dh_installmenu
-+#	dh_installlogrotate
-+#	dh_installemacsen
-+#	dh_installpam
-+#	dh_installmime
-+	dh_installinit --update-rcd-params='start 30 S .' --init-script='procps.sh'
-+#	dh_installcron
-+	dh_installman
-+	dh_installinfo
-+#	dh_undocumented
-+	dh_installchangelogs NEWS
-+	dh_link
-+	dh_strip
-+	dh_compress
-+	dh_fixperms
-+	dh_makeshlibs -V "procps (>= 3.1.14), procps (<< 3.1.15)"
-+	dh_installdeb
-+#	dh_perl
-+	dh_shlibdeps -Lprocps -ldebian/procps/lib
-+	dh_gencontrol
-+	dh_md5sums
-+	dh_builddeb
-+
-+binary: binary-indep binary-arch
-+.PHONY: build clean binary-indep binary-arch binary install patch unpatch clean1
---- procps-3.1.15.orig/debian/changelog
-+++ procps-3.1.15/debian/changelog
-@@ -0,0 +1,743 @@
-+procps (1:3.1.15-2) unstable; urgency=low
-+
-+  * Removed offending test directory Closes: #227933
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 20 Jan 2004 10:20:44 +1100
-+
-+procps (1:3.1.15-1) unstable; urgency=low
-+
-+  * Now uses dpatch to handle the various patches
-+  * New upstream release
-+    - Supports SELINUX flags for kernel v2.6 Closes: #193648
-+    - Hide kernel PID bug Closes: #217278, #219730, #217525, #224470
-+    - Fixed top auto-margins problem Closes: #217559
-+  * Fix top manual page Closes: #225089
-+  * Patch so SELINUX flags work in v2.4 kernels
-+  * Extra +s in ps.1 removed Closes: #218220
-+  * Added patch so sysctl has quiet -q flag Closes: #189100
-+
-+ -- Craig Small <csmall at debian.org>  Fri, 26 Dec 2003 18:02:59 +1100
-+
-+procps (1:3.1.14-1) unstable; urgency=low
-+
-+  * New upstream release
-+
-+ -- Craig Small <csmall at debian.org>  Wed, 22 Oct 2003 11:59:53 +1000
-+
-+procps (1:3.1.13-1) unstable; urgency=low
-+
-+  * New upstream release
-+
-+ -- Craig Small <csmall at debian.org>  Wed, 24 Sep 2003 16:10:42 +1000
-+
-+procps (1:3.1.12-1) unstable; urgency=low
-+
-+  * New upstream release
-+    ps: $PS_FORMAT works properly Closes: #201575
-+    man page: /var/run/utmp, not /etc/utmp Closes: #206583
-+    required flags moved out of CFLAGS Closes: #205429
-+    
-+
-+ -- Craig Small <csmall at debian.org>  Sat, 13 Sep 2003 21:11:09 +1000
-+
-+procps (1:3.1.11-2) unstable; urgency=low
-+
-+  * Made shlibs have a specific version Closes: #199118
-+  * libproc.a is back in libproc-dev, use it
-+  * Added README to libproc-dev for people who use the library
-+
-+ -- Craig Small <csmall at debian.org>  Wed, 20 Aug 2003 15:31:59 +1000
-+
-+procps (1:3.1.11-1) unstable; urgency=low
-+
-+  * 3.1.11 New upstream version
-+    - handle GPLONLY_ symbols Closes: #143549, #188374
-+  * freeproc now defined Closes: #189047
-+  * warning in readproc.c fixed Closes: #197346
-+  * Removed optarg and optind defines Closes: #197343
-+  * Fixed saved_start_time warning Closes: #197342
-+
-+ -- Craig Small <csmall at debian.org>  Thu, 24 Jul 2003 17:02:36 +1000
-+
-+procps (1:3.1.9-1) unstable; urgency=low
-+
-+  * New upstream source
-+  * memory sizes fixed for 64-bit w/ gcc 3.x Closes: #194376, #191933
-+  * Doesn't segfault if /proc not mounted Closes: #172735
-+  * No warning in top about memory key Closes: #188271
-+  * More info in kill man page Closes: #182414
-+  * Document the different oO options Closes: #169301
-+  * Updated stabndards version to 3.5.9
-+  * Changed disk to backing storage Closes: #175925
-+
-+ -- Craig Small <csmall at debian.org>  Mon,  2 Jun 2003 02:31:03 +1000
-+
-+procps (1:3.1.8-1) unstable; urgency=low
-+
-+  * New upstream release
-+    watch man page fixed, Closes #182246
-+  * Changed section for libproc-dev
-+
-+ -- Craig Small <csmall at debian.org>  Tue,  1 Apr 2003 10:19:05 +1000
-+
-+procps (1:3.1.6-1) unstable; urgency=low
-+
-+  * New upstream release
-+    - watch has --no-title option Closes: #179862
-+    - ps -C can compare very long names Closes: #178127
-+  * Fixed descriptions in manual pages Closes: #179046
-+  * w wont crash if /proc unreadable Closes: #169398
-+
-+ -- Craig Small <csmall at debian.org>  Sat, 22 Feb 2003 21:33:45 +1100
-+
-+procps (1:3.1.5-1) unstable; urgency=low
-+
-+  * New upstream version
-+    - watch don't drop empty lines Closes: #171005 
-+    - top has old sort keys Closes: #167249
-+    - now count Inact_laundry as needed Closes: #172163
-+
-+ -- Craig Small <csmall at debian.org>  Mon,  6 Jan 2003 13:49:32 +1100
-+
-+procps (1:3.1.3-1) unstable; urgency=low
-+
-+  * New upstream source
-+
-+ -- Craig Small <csmall at debian.org>  Fri, 13 Dec 2002 16:16:36 +1100
-+
-+procps (1:3.1.1-1) unstable; urgency=low
-+
-+  * New upstream source
-+    - vmstats reports memort counts Closes: #169774
-+
-+ -- Craig Small <csmall at debian.org>  Wed,  4 Dec 2002 15:57:13 +1100
-+
-+procps (1:3.1.0-1) unstable; urgency=low
-+
-+  * New upstream version
-+    - vmstat displays IO-wait time instead of bogus "w"
-+    - when IO-wait hidden, count as idle, not as sys
-+    - pmap command added (like Sun has)
-+  * Manual pages cleaned up Closes: #165970, #164481
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 11 Nov 2002 12:03:46 +1100
-+
-+procps (1:3.0.5-1) unstable; urgency=low
-+
-+  * New upstream version
-+    - top tolerates super-wide displays Closes: #165497
-+    - ELF note warning gone for some kernels Closes: #165900
-+    - Fix ps and top man pages a bit, dropped bugs severity.
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 29 Oct 2002 22:04:36 +1100
-+
-+procps (1:3.0.4-1) unstable; urgency=low
-+
-+  * New upstream version
-+    - ELF note warning removed Closes: #165093, #165343
-+    - top works for most TERM= settings Closes: #164864, #164956
-+  * w has FROM column again by default Closes: #165252
-+  * debhelper dependency version fixed Closes: #165083
-+  * ps.1 looks a bit better now Closes: #16448
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 21 Oct 2002 08:30:04 +1000
-+
-+procps (1:3.0.3-1) unstable; urgency=low
-+
-+  * New upstream version
-+    - w works with KOI8 locale Closes: #153043
-+    - fix top for non-SMP 2.2.xx and 2.0.xx Closes: #164231
-+    - negative idle time fixed Closes: #126260
-+    - sysctl handles new vlan interface Closes: #140386
-+    - vmstat documentation update Closes: #157935, #155684
-+    - "skill -n blah blah blah" lets you test options Closes: #158630
-+    - fixed ps --sort crash Closes: #164226
-+    - vmstat compiles with latest gcc-3.x Closes: #164348
-+    - bad (int*) cast in top removed Closes: #164468
-+    - Support new/improved statistics interfaces in 2.5 /proc Closes: #164013
-+    - top defaults to old layout and sort by pid Closes: #164277
-+    - rant moved out of top.1 man page Closes: #164520
-+    - top runs much faster Closes: #87779
-+
-+ -- Craig Small <csmall at debian.org>  Sat, 12 Oct 2002 21:44:23 +1000
-+
-+procps (1:3.0.0-2) unstable; urgency=low
-+
-+  * Fixed pkill and skill, auto* is so broken. Closes: #163940, #163944
-+  * Moved libproc.so.3 into /lib as it's needed early Closes: #163981,#163899
-+
-+ -- Craig Small <csmall at debian.org>  Thu, 10 Oct 2002 07:19:45 +1000
-+
-+procps (1:3.0.0-1) unstable; urgency=low
-+
-+  * New upstream source Closes: #163698
-+    - top has SMP Closes: #162316, #62282, #94896, #98277, #117040, #117735
-+    - SELINUX support Closes: #142892
-+    - top defaults to signal 15 to kill pids with Closes: #72158
-+    - 64-bit time reduces the overflow problem  Closes: #82382, #155908
-+    - "w" program better at determining what a user is doing 
-+      Closes: #88758, 115529
-+    - oldps is gone Closes: #101917
-+    - Handles /proc/tty/drivers Closes: #108654, #154046
-+    - Supports scanf where locale uses , for decimal point Closes: #126873
-+    - uptime --help now calls itself uptime Closes: #128880
-+    - ps faster Closes: #147731
-+    - top calculates screen better Closes: #162296
-+    - top allows sorts by pid or  swapped memory Closes: #79868, #159446
-+    - support for s/390 Closes: #126295
-+    - statm buffer size increased Closes: #145085
-+    - new top has no typos Closes: #148918
-+    - new top can handle lots of tasks Closes: #70900
-+  * Fixed init.d file so it follows policy Closes: #121945
-+
-+ -- Craig Small <csmall at debian.org>  Tue,  8 Oct 2002 12:29:45 +1000
-+
-+procps (1:2.0.7-10) unstable; urgency=low
-+
-+  * Fixes ps crash when system.map is exact multiple of 1024
-+    Thankyou Colin for the patch! Closes: #109237, #142292
-+
-+ -- Craig Small <csmall at eye-net.com.au>  Fri, 12 Apr 2002 21:02:04 +1000
-+
-+procps (1:2.0.7-9) unstable; urgency=low
-+
-+  * Sanity checking for Number of CPU Closes: #127561, #122617
-+    This will keep the m68k and ARM boys happy.
-+  * uptime usage fixed Closes: #138351
-+  * kill man page NAME updated Closes: #119400
-+  * Better explanation for load average in uptime(1) Closes: #140902
-+  * utmp in correct location in w(1) Closes: #115725
-+
-+ -- Craig Small <csmall at eye-net.com.au>  Mon,  8 Apr 2002 14:18:20 +1000
-+
-+procps (1:2.0.7-8) unstable; urgency=low
-+
-+  * Removed -ggdb Closes: #117203
-+
-+ -- Craig Small <csmall at eye-net.com.au>  Sat, 27 Oct 2001 07:02:38 +1000
-+
-+procps (1:2.0.7-7) unstable; urgency=low
-+
-+  * Added os/390 patches Closes: #113494
-+  * w manpage now gives correct location for utmp Closes: #110723
-+  * watch wrap-around problem fixed Closes: #111759
-+  * Programs are compilied -O2 Closes: #108652
-+
-+ -- Craig Small <csmall at eye-net.com.au>  Wed, 26 Sep 2001 08:08:43 +1000
-+
-+procps (1:2.0.7-6) unstable; urgency=low
-+
-+  * Re-fixed command line interpretation Closes: #103101
-+
-+ -- Craig Small <csmall at eye-net.com.au>  Tue, 10 Jul 2001 17:32:02 +1000
-+
-+procps (1:2.0.7-5) unstable; urgency=low
-+
-+  * watch now copys strings better. Closes: #95404, #97948, #99780
-+  * skill.1 loads tbl Closes: #92242, #67899
-+  * long usernames are shown Closes: #86205, #94957
-+  * Remove /etc/rcS.d/S30procps with good ole rm Closes: #92184
-+  * /etc/init.d/procps.sh calls itself that Closes: #93302
-+  * Cannot write config in secure mode Closes: #93948
-+
-+ -- Craig Small <csmall at debian.org>  Sun, 29 Apr 2001 14:55:20 +1000
-+
-+procps (1:2.0.7-4) unstable; urgency=low
-+
-+  * watch doesnt crash with long command lines Closes: #88592, #87693
-+  * bumped up a buffer in a proc read Closes: #85775
-+  * Now we use 24 hour time Closes: #85640
-+  * pgrep calls itself pgrep Closes: #86630
-+  * Corrected symlink in libproc-dev Closes: #87865
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 19 Mar 2001 10:13:27 +1100
-+
-+procps (1:2.0.7-3) unstable; urgency=low
-+
-+  * Conflicts with pgrep, so no more conflicts Closes: #82835
-+  * Minor fixes to ps.1 manpage Closes: #81921
-+  * watch highlighs correctly Closes: #77737
-+  * top wont die with evil HOMEs, Closes: #81452
-+  * removed reference to suidregister
-+  * Remore -L reference in kill.1 Closes: #85913
-+
-+ -- Craig Small <csmall at debian.org>  Thu,  8 Feb 2001 12:44:58 +1100
-+
-+procps (1:2.0.7-2) unstable; urgency=medium
-+
-+  * Moved kill back again, dammit why is the makefile so broken
-+    Closes: #82747
-+  * Watch uses locale Closes: #82739
-+  * top's scanf is protected from evil locale problems Closes: #82671, #69128
-+    (Big thankyou to Guillaume for lending a test account)
-+
-+ -- Craig Small <csmall at debian.org>  Fri, 19 Jan 2001 09:15:36 +1100
-+
-+procps (1:2.0.7-1) unstable; urgency=medium
-+
-+  * New upstream version (010114)
-+    - Merges 2.0.7 code from RedHat Closes: #80832
-+    - Made note that Shared memory report will be junk due to kernel
-+      Closes: #77818
-+    - Remove html and null stuff from man page Closes: #81920
-+    - vsize is kB in man page Closes: #82210
-+    - man pages look better Closes: #70055, #70941
-+    - vmstat increase Closes: #77886
-+    - w tries harder to find things Closes: #24531
-+    - 15 char user names Closes: #71211
-+  * No HOME overflow in top Closes: 81452
-+  * Added menu Hints Closes: #80051, #82324
-+
-+
-+ -- Craig Small <csmall at debian.org>  Wed, 17 Jan 2001 08:57:24 +1100
-+
-+procps (1:2.0.6-9) unstable; urgency=medium
-+
-+  * added libncurses5-dev to build-depends, Closes: #67533
-+  * Put kill back into /bin Closes #67580, #67582
-+  * Put 2.0.6-7 ps.1 back in Closes: #67451
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 25 Jul 2000 08:13:21 +1000
-+
-+procps (1:2.0.6-8) unstable; urgency=low
-+
-+  * New upstream source:
-+  *  - sysctl EOF bug fixed Closes: #62877
-+  *  - stop crashes with unmounted /proc Closes: #63512, #55177
-+  *  - Versions checking tolerates RH /proc/ksyms Closes: #59798
-+  *  - Top works better with SMP Closes: #34734, #56547, #59703
-+
-+ -- Craig Small <csmall at debian.org>  Fri, 14 Jul 2000 22:33:44 +1000
-+
-+procps (1:2.0.6-7) unstable; urgency=low
-+
-+  * Fixed missing version Closes: #62207, #62484, #59112
-+  * Stop crashes with umounted /proc Closes: #63512, #55177
-+  * Nicer man pages Closes: #63495, #59406
-+  * Fixed sysctl eof bug Closes: #62877
-+  * watch wraps properly Closes: #60913
-+  * watch handles tabs Closes: #46213
-+  * watch honors locale settings Closes: #63762
-+  * now versioned replaces line for bsdutils
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 29 May 2000 13:31:54 +1000
-+
-+procps (1:2.0.6-6) unstable; urgency=low
-+
-+  * New patchlevel (000221)
-+  * ps 'f' ASCII art forest fixed. Closes: #57134, #58644
-+  * let insane people run ps setuid. Closes: #56701
-+  * note that kernel 2.3 is now faster. Closes: #49130
-+  * top with WCHAN was leaking memory. Closes: #58172, #52257, #56889
-+  * can show current CPU. Closes: #37023
-+  * w looks better now. Closes: #55952
-+  * init.d/procps removed if exists. Closes: #55137, #55852
-+  * Fixed skill/snice man page (thanks man-db maint!) Closes: #53736, #46743
-+  * Fixed ps man page Closes: #58365
-+
-+ -- Craig Small <csmall at debian.org>  Wed, 23 Feb 2000 10:31:37 +1100
-+
-+procps (1:2.0.6-5) unstable; urgency=low
-+
-+  * New upstream source
-+  * kill "_R(smp_|smp2gig_|2gig_)?[0-9a-fA-F]{8,}"  Closes: #54394, #53208
-+  * added type 'S' and scan past machine types  Closes: #54396
-+  * Fixed w(1) manpage Closes: #54709
-+  * top now agrees with ps for RSS Closes: #52679
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 11 Jan 2000 08:23:56 +1100
-+
-+procps (1:2.0.6-4) unstable; urgency=low
-+
-+  * procps init.d script quietly dies if not /etc/default/rcS Closes:
-+    #52839
-+  * Put the NEWS changelog back in Closes: #52678
-+  * Fixed that damn Rsmp annoying message bug Closes: #48686
-+  * Remove /etc/init.d/procps Closes: #53818
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 20 Dec 1999 11:14:53 +1100
-+
-+procps (1:2.0.6-3) unstable; urgency=low
-+
-+  * Patched ps so it complains if you chmod 711 /proc Closes: #52481
-+  * Did the same for top.
-+  * Ditto for oldps.
-+  * Changed and int to a char* Closes: #52482
-+  * sysctl.conf file references sysctl.conf (5) not 8 Closes: #52385
-+  * props init.d script changed to procps.sh Closes: #52228
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 13 Dec 1999 11:57:01 +1100
-+
-+procps (1:2.0.6-2) unstable; urgency=low
-+
-+  * Changed psmisc from reccomends to suggests
-+  * %MEM now works, Closes: #50010 #50055 #50148 #50356
-+  * top doesn't crash with > 204 processes Closes: #50055
-+  * Another libproc fd leak fixed Closes: #45398
-+  * ps silently ignores m and -m for future compatibility Closes: #48308
-+  * Added a sysctl.conf and other files as suggested Closes: #51098
-+  * Fix start field instability
-+  * ps.1 fixed Closes: #35137
-+
-+ -- Craig Small <csmall at debian.org>  Tue,  7 Dec 1999 14:42:51 +1100
-+
-+procps (1:2.0.6-1) unstable; urgency=low
-+
-+  * New upstream
-+  * sysctl crash fixed, Closes: #49015
-+  * libproc file descriptor leak fixed, Closes: #45398
-+  * False positive System.map mismatches killed, Closes: #49047
-+  * Supports 64 Hz for StrongARM/Shark Closes: #47461
-+  * pr_time fixed, Closes: #46223
-+  * libc num cpu workaround back in, Closes: #49039
-+  * Fixed kill manpage, Closes: #47018
-+  * This version definitely, absolutely has kill, Closes: #46762
-+
-+
-+ -- Craig Small <csmall at debian.org>  Fri,  5 Nov 1999 12:46:05 +1100
-+
-+procps (1:2.0.3-5) unstable; urgency=low
-+
-+  * Changed conflicts with replaces
-+
-+ -- Craig Small <csmall at debian.org>  Wed,  6 Oct 1999 14:36:48 +1000
-+
-+procps (1:2.0.3-4) unstable; urgency=low
-+
-+  * support SMP systems with versioned kernel modules Closes: #45621, #46465
-+  * Added kill to this (it is removed from bsdutils).
-+  * We now need kill manpage, Closes: #46004
-+
-+ -- Craig Small <csmall at debian.org>  Tue,  5 Oct 1999 10:28:01 +1000
-+
-+procps (1:2.0.3-3) unstable; urgency=low
-+
-+  * System.map support for non-i386 Closes: #45592, #45250
-+  * Do not require /proc/ksyms Closes: #45128, #45132, #45619
-+  * Alternative w.1 points to the right spot, Closes: #45331
-+  * Copyright for skill and snice and ps fixed, Closes: #45119
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 21 Sep 1999 16:31:59 +1000
-+
-+procps (1:2.0.3-2) unstable; urgency=medium
-+
-+  * Now with top! Closes: #45106
-+
-+ -- Craig Small <csmall at debian.org>  Wed, 15 Sep 1999 11:12:34 +1000
-+
-+procps (1:2.0.3-1) unstable; urgency=low
-+
-+  * New upstream source
-+  * Debian personality does m flag Closes: #44832
-+  * Corrected typo in top.1 Closes: #44836
-+  * New improved watch Closes: #29970
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 13 Sep 1999 16:59:16 +1000
-+
-+procps (1:2.0.2-4) unstable; urgency=high
-+
-+  * Fixed the nasty ps formatting problem (Bug #40859 #40856 #40839 )
-+
-+ -- Craig Small <csmall at debian.org>  Wed,  7 Jul 1999 08:41:54 +1000
-+
-+procps (1:2.0.2-3) unstable; urgency=low
-+
-+  * New upstream patches/source
-+  * SMB Hz wierdness fixed (Bug #33023 #33284)
-+  * non-tty output does not get chopped at 80 columns (bug #36688)
-+  * BSD personalities set the default selection and output format (bug #36698)
-+  * Fixed collumn spacing problem (Bug #35309)
-+  * Work around for borken libs that return 0 processors (Bug #36902)
-+  * skill now uses process name not command line (Bug #19208)
-+
-+ -- Craig Small <csmall at debian.org>  Mon,  5 Jul 1999 07:29:47 +1000
-+
-+procps (1:2.0.2-2) unstable; urgency=low
-+
-+  * Removed kill and manual page (Bug #36421 #36551 #36375)
-+  * Put in patch for bogus sysconf return (Bug #36494 #36532 #36581)
-+
-+ -- Craig Small <csmall at debian.org>  Wed, 28 Apr 1999 09:04:59 +1000
-+
-+procps (1:2.0.2-1) unstable; urgency=low
-+
-+  * New upstream version (Bug #34394 #27291 #34250 #34956 #35240 #35247
-+    #35520 #35756 #34580 )
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 19 Apr 1999 13:26:48 +1000
-+
-+procps (1:2.0.0-1) unstable; urgency=low
-+
-+  * New upstream version (Bug #33083 23347 33462 10556 33266 33371 )
-+   
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 15 Mar 1999 14:21:57 +1100
-+
-+procps (1:1.9.0-2) unstable; urgency=low
-+
-+  * top now resumes (Bug #32106 )
-+  * debhelper text problem fixed in postinst (Bug #32963 #33122 #33003 33117 )
-+  * oldps and ps now use alternatives (Bug #33083 )
-+  * ps s format now not ugly (Bug #28266 )
-+  * watch command line help and man page correct (Bug #31702 )
-+  * sessreg removed from package (Bug #32294 )
-+  * ps doesn't display extra spaces (Bug #27799 )
-+  * top has spaces in command lines again (Bug #33060 )
-+  * ps now has personality (Bug #22923 #18429 )
-+  * moved non-free skill and snice to non-free package.
-+
-+ -- Craig Small <csmall at debian.org>  Tue,  9 Feb 1999 15:10:58 +1100
-+
-+procps (1:1.9.0-1) unstable; urgency=low
-+
-+  * New Upstream source
-+
-+ -- Craig Small <csmall at debian.org>  Thu,  4 Feb 1999 14:48:37 +1100
-+
-+procps (1:1.2.9-3) unstable; urgency=low
-+
-+  * Linked to ncurses4
-+
-+ -- Craig Small <csmall at debian.org>  Fri, 30 Oct 1998 14:13:02 +1100
-+
-+procps (1:1.2.9-2) unstable; urgency=low
-+
-+  * top now has spaces in between command lines (Bug #28178 )
-+  * --version or -V now shows proper version.
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 26 Oct 1998 08:55:59 +1100
-+
-+procps (1:1.2.9-1) unstable; urgency=low
-+
-+  * New upstream version (Bug #27573 )
-+  * Menu entry changed from System to Menu/System (Bug #27438 )
-+  * Char variables changed to int for powerpc (Bug #26624 )
-+  * libproc now nulls allocated structure (Bug #26225 )
-+  * No longer uses psdevtab (yay!) (Bug #25388 )
-+  * ps doesn't double space command line parameters (Bug #25306 #24293 )
-+  * ps now silently ignores g flag for those BSD heads (Bug #24075 )  
-+
-+ -- Craig Small <csmall at debian.org>  Fri,  9 Oct 1998 09:15:11 +1000
-+
-+procps (1:1.2.7-2) unstable; urgency=low
-+
-+  * Top can suspend twice (or three times even) (Bug #22997 )
-+  * Libraries properly built (Bug #20010 )
-+
-+ -- Craig Small <csmall at debian.org>  Mon,  1 Jun 1998 09:16:09 +1000
-+
-+procps (1:1.2.7-1) frozen unstable; urgency=high
-+
-+  * New upstream source, fixes security bug (Bug #21475)
-+
-+ -- Craig Small <csmall at debian.org>  Thu, 23 Apr 1998 08:04:54 +1000
-+
-+procps (1:1.2.6-2) unstable; urgency=low
-+
-+  * Fixed Shared library dependencies (bugs #18388 #18394 18392 )
-+  * Conflicts with earlier versions of w-bassman (bug #18389 )
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 23 Feb 1998 09:05:54 +1100
-+
-+procps (1:1.2.6-1) unstable; urgency=low
-+
-+  * New upstream source.
-+  * xload is undiverted (Bug #17102 )
-+  * ps_fields.7.gz removed (Bug #18090 )
-+  * Colour patches removed, color-related bugs gone (Bug #18008 #17217 #18090 )
-+  * POSIX patches removed, cmd line bugs gone (Bug #15537 )
-+  * w is now an alternative w.procps (Bug #17960 )
-+  * skill now works with process names (Bug #17087 )
-+  * ps and top man pages have their field descriptions (Bug #17360 )
-+  * ps u fixed (Bug #17313 )
-+  * Source code is no longer FUBAR (Bug #17892 )
-+  * top now redraws screen after config screen (Bug #11896 )
-+  * Circular dependency removed (Bug #16966 )
-+  * top does mess up screens with wrong cmd line (Bug #17230 )
-+  * top suspends with ctrl-Z  (Bug #16703 )
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 17 Feb 1998 08:31:21 +1100
-+
-+procps (1:1.2.5-2) unstable; urgency=low
-+
-+  * Moved /bin into /bin/ps (Bug #17001 )
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 13 Jan 1998 07:50:43 +1100
-+
-+procps (1:1.2.5-1) unstable; urgency=low
-+
-+  * TTY selection works ( #16724 ) 
-+  * top and ps now accept --colour and *_COLOURS
-+  * xproc copyright file not compressed ( #14491 )
-+  * All #include <proc/*.h> now #include "proc/*.h" ( #13482 ) 
-+  * Copyright doesn't mention psmisc now ( #16704 ) 
-+  * Moved ps back into /bin ( #16737  #16705 )
-+  * New upstream source ( #16795 )
-+
-+ -- Craig Small <csmall at debian.org>  Mon, 12 Jan 1998 08:35:10 +1100
-+
-+procps (1:1.2.2-1) unstable; urgency=low
-+
-+  * New maintainer
-+  * Updated upstream source to 1.2.2 (instead of 1.2)
-+  * Merged Helmut's color/command line patches into upstream.
-+  * Copyright file is not compressed ( #14493 #14415 )
-+  * psdatabase refreshed when installing ( #10693 )
-+  * Fixed +/- line in free ( #10785 #10870 #11566 #12027 #12245 #12374 )
-+  * w collumns corrected ( #10898 #13117 )
-+  * top saves sort type ( #11553 )
-+  * Linked to libc6 ( #11725 )
-+  * top doesn't coredump with S option ( #11855 )
-+  * skill works with given patch ( #12023 )
-+  * libproc-dev has proper sym link ( #12697 )
-+  * top -h doesn't change terminal settings ( #13513 )
-+  * ps -s has "CAUGHT" not "CATCHED" ( #14342 )
-+  * ps_colors.7 and ps_fields.7 reformatted ( #14109 #14544 #14545 )
-+  * ps checks for tty before using colors ( #14596 )
-+  * top sets stop signal handler later, stopping race ( #14769 )
-+  * When using POSIX personality, processes show up ( #14780 )
-+  * top checks for valid term type ( #15807 )
-+  * xproc now Depends on procps-1.2.*-* ( #10762 #13347 )
-+  * xproc dependencies fixed ( #12698 )
-+
-+ -- Craig Small <csmall at debian.org>  Tue, 30 Dec 1997 11:33:54 +1100
-+
-+procps (1.12.2.1) unstable; urgency=low
-+
-+  * Non-maintainer release, built for libc6.
-+  * Added in free.c from new procps version 1.2.3 (from sunsite), seems to
-+    fix all the problems with free reporting bogus valus.
-+
-+ -- Joey Hess <joeyh at master.debian.org>  Fri, 24 Oct 1997 13:34:35 -0400
-+
-+procps (1.12.2) stable unstable; urgency=low
-+
-+  * fixed meminfo handling again, as the fix wouldn't work on pre-2.1.x
-+    kernels. 
-+  * fixed free to use the meminfo routines from libproc.
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Fri, 13 Jun 1997 22:42:14 +0200
-+
-+procps (1.12.1) stable unstable; urgency=low
-+
-+  * fixed several bugs
-+  * replaced utmp handling to support wrappers.
-+  * added /proc/meminfo support for 2.1.x kernels.
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Tue, 10 Jun 1997 23:59:41 +0200
-+
-+procps (1.11.6) frozen unstable; urgency=medium
-+
-+  * psmisc 1.14 : new upstream version (mainly bugfixes)
-+  * added a lot of new serial device major numbers to the device lookup
-+    code. Somehow it seems there are new serial devices every other week.
-+  * fixed a bug in top: broken .toprc may cause a segmentation fault.
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Sun, 4 May 1997 09:50:30 +0200
-+
-+procps (1.11.5) frozen unstable; urgency=medium
-+
-+  * minor changes to make it compile with libc6
-+  * fix top behaviour on machines having nonstandard NR_TASKS up to 4k
-+    tasks 
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Fri, 18 Apr 1997 02:07:46 +0200
-+
-+procps (1.11.4) unstable; urgency=medium
-+
-+  * strip libproc.so from unneeded symbols (Bug# 8311)
-+  * fixed watch.1 example (Bug# 8169)
-+  * partly fixed fuser sigsegv core dump (Bug# 8004)
-+  * menu entries for xproc and procps (Bug# 8325)
-+  * divertions for xmem and xload. (Bug# 7565)
-+  
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Sun, 13 Apr 1997 20:55:05 +0200
-+
-+procps (1.11.3) unstable; urgency=low
-+
-+  * fixed uptime again, minor Makefile changes
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Fri, 21 Feb 1997 16:22:04 +0100
-+
-+procps (1.11.2) unstable; urgency=medium
-+
-+  * fixed typo in ps_fields.7 (Bug#5457)
-+  * fixed typo in debian/rules (Bug #5585)
-+  * fixed bug in w introduced in 1.11.1 (Bugs #5489, #5694, #5695, #5705).
-+  * added support for non-standard serial devices (long overdue - Bug
-+    #5771). 
-+  * fixed uptime option handling (Bug #6099).
-+  * fixed top problems with missing/corrupted utmp (Bug #5819).
-+  * fixed manpage problems (Bug #5936).
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Wed, 19 Feb 1997 18:49:26 +0100
-+
-+procps (1.11.1) unstable; urgency=low
-+
-+  * fixed bug in w <username>
-+  * automatic resize if field length is exceeded. This changed the shared
-+    library, so popping the major number.
-+  * fixed numeric WCHAN output on Alphas and stupid bug in ps (again,
-+    thanks to H. Koenig). 
-+  * fixed top memory statistics for systems with more than 100M memory or 
-+    swap. 
-+  
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Tue, 12 Nov 1996 02:57:18 +0100
-+
-+procps (1.10.1) unstable; urgency=low
-+
-+  * merged in ALPHA & Sparc patches
-+    (from ftp.azstarnet.com:/pub/linux/axp/glibc)
-+  * fixed ps --deselect/-N for pid lists    
-+  * use shared libs from now on, install shlibs again
-+  * manpages for libproc
-+  * static lib compiled without -fPIC
-+  * added libproc package for development installing libproc headers,
-+    manpages and static library. 
-+  * fixed PROC_REAL bug when PROC_FILLSTATUS isn't set.
-+  * fixed color bug in ps --forest
-+  * added xproc package for xload, xmem, xidle, xcpustate
-+    (XConsole left out as we use xconsole & klogd on debian)
-+  * adapted xload manpage for xidle and xmem
-+  * fixed xmem to cope with newer kernels (where shared pages are counted
-+    once for each additional reference)
-+  * fixed top change_fields bug (a field needs 24, not 21 spaces)
-+  * fixed several Alpha bugs (thanks to Harald Koenig)
-+  * due to popular demand, the old format for time intervals is back.
-+    for all program using this, a toggle command line option has been
-+    provided. The default behaviour depends on the compile time option
-+    NEW_TIME_DEFAULT (see main Makefile)
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Wed, 23 Oct 1996 21:30:54 +0200
-+
-+procps (1.09.2) unstable; urgency=low
-+
-+  * fixed cpu nice % in summary
-+  * fixed topsetup initialisation in top.h I messed up in last revision
-+  * fixed pipe output bug
-+  * fixed --deselect bug in SVR4/POSIX mode
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Sun, 20 Oct 1996 13:57:11 +0200
-+
-+procps (1.09.1) unstable; urgency=low
-+
-+  * fixed ps -w bug displaying too many empty lines
-+  * fixed SIGSEGV bug in ps -www
-+  * fixed bug in top not calculating length of the command/args/env fields
-+    at the field selection screen in some circumstances.
-+  * fixed SIGSEGV bug when using environ field
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Sat, 12 Oct 1996 07:59:29 +0200
-+
-+procps (1.09) experimental; urgency=low
-+
-+  * This is an experimental release of the procps suite. A lot of features have
-+    been added since the 1.01(a) release:
-+     - support for both BSD and POSIX (SVR4) style command line options.
-+     - completely configurable display of information.
-+     - colour markup of processes exceeding limits or belonging to a user.
-+    Please take a look at /usr/doc/procps/NEWS and the manpages for a concise
-+    list. This is how the next upstream release of procps may look
-+    (i.e. it will  look like this if there is not too much resistance).  
-+
-+ -- Helmut Geyer <Helmut.Geyer at iwr.uni-heidelberg.de>  Sat, 5 Oct 1996 14:26:57 +0200
---- procps-3.1.15.orig/kill.1
-+++ procps-3.1.15/kill.1
-@@ -10,16 +10,11 @@
- 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.
-@@ -105,7 +100,7 @@
- .fi
- .PP
- .SH "SEE ALSO"
--pkill(1) skill(1) kill(2) renice(1) nice(1) signal(7) killall(1)
-+.BR pkill (1), skill (1), kill (2), renice (1), nice (1), signal (7), killall (1).
- 
- .SH STANDARDS
- This command meets appropriate standards. The -L flag is Linux-specific.
---- procps-3.1.15.orig/tload.c
-+++ procps-3.1.15/tload.c
-@@ -30,9 +30,6 @@
- static int dly=5;
- static jmp_buf jb;
- 
--extern int optind;
--extern char *optarg;
--
- static void alrm(int signo)
- {
-     (void)signo;
---- procps-3.1.15.orig/pgrep.c
-+++ procps-3.1.15/pgrep.c
-@@ -367,7 +367,8 @@
- 	preg = do_regcomp ();
- 
- 	if (opt_newest) saved_start_time =  0ULL;
--	if (opt_oldest) saved_start_time = ~0ULL;
-+    else
-+	    saved_start_time = ~0ULL;
- 	if (opt_newest) saved_pid = 0;
- 	if (opt_oldest) saved_pid = INT_MAX;
- 	
---- procps-3.1.15.orig/top.1
-+++ procps-3.1.15/top.1
-@@ -430,8 +430,8 @@
- 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
diff --git a/recipes/procps/procps-3.2.1/install.patch b/recipes/procps/procps-3.2.1/install.patch
deleted file mode 100644
index 2d16c26..0000000
--- a/recipes/procps/procps-3.2.1/install.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#
-# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
-#
-
---- procps-3.1.15/Makefile~install	2003-12-24 03:01:55.000000000 +0100
-+++ procps-3.1.15/Makefile	2004-02-11 00:45:59.000000000 +0100
-@@ -147,7 +147,7 @@
- ###### install
- 
- $(BINFILES) : all
--	$(install) --mode a=rx --strip $(notdir $@) $@
-+	$(install) --mode a=rx $(notdir $@) $@
- 
- $(MANFILES) : all
- 	$(install) --mode a=r $(notdir $@) $@
diff --git a/recipes/procps/procps-3.2.5/pagesz-not-constant.patch b/recipes/procps/procps-3.2.5/pagesz-not-constant.patch
deleted file mode 100644
index 8e9e1eb..0000000
--- a/recipes/procps/procps-3.2.5/pagesz-not-constant.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: procps-3.2.1/proc/devname.c
-===================================================================
---- procps-3.2.1.orig/proc/devname.c	2004-03-18 05:43:50.000000000 +1100
-+++ procps-3.2.1/proc/devname.c	2005-04-02 10:40:17.462138000 +1000
-@@ -227,7 +227,7 @@
- 
- /* number --> name */
- unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags) {
--  static char buf[PAGE_SIZE];
-+  static char buf[4096];
-   char *restrict tmp = buf;
-   unsigned dev = dev_t_dev;
-   unsigned i = 0;
-@@ -249,7 +249,7 @@
-   if((flags&ABBREV_TTY) && !strncmp(tmp,"tty",  3) && tmp[3]) tmp += 3;
-   if((flags&ABBREV_PTS) && !strncmp(tmp,"pts/", 4) && tmp[4]) tmp += 4;
-   /* gotta check before we chop or we may chop someone else's memory */
--  if(chop + (unsigned long)(tmp-buf) <= sizeof buf)
-+  if(chop + (unsigned long)(tmp-buf) < sizeof buf)
-     tmp[chop] = '\0';
-   /* replace non-ASCII characters with '?' and return the number of chars */
-   for(;;){
diff --git a/recipes/procps/procps-3.2.7/install.patch b/recipes/procps/procps-3.2.7/install.patch
deleted file mode 100644
index 9f1ef69..0000000
--- a/recipes/procps/procps-3.2.7/install.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- procps-3.2.5.virgin/Makefile	2005-01-26 05:55:26.000000000 +0100
-+++ procps-3.2.5/Makefile	2005-08-03 04:55:26.346984488 +0200
-@@ -30,7 +30,10 @@
- install  := install -D --owner 0 --group 0
- 
- # Lame x86-64 /lib64 and /usr/lib64 abomination:
--lib64    := lib$(shell [ -d /lib64 ] && echo 64)
-+# lib64    := lib$(shell [ -d /lib64 ] && echo 64)
-+
-+# Equally lame hack to work around makefile lameness when the host arch is 64bit, but the target is not.
-+lib64      := lib
- 
- usr/bin                  := $(DESTDIR)/usr/bin/
- bin                      := $(DESTDIR)/bin/
-@@ -211,10 +214,10 @@
- ###### install
- 
- $(BINFILES) : all
--	$(install) --mode a=rx $(notdir $@) $@
-+	$(install) -m 555 $(notdir $@) $@
- 
- $(MANFILES) : all
--	$(install) --mode a=r $(notdir $@) $@
-+	$(install) -m 444 $(notdir $@) $@
- 
- install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL))
- 	cd $(usr/bin) && $(ln_f) skill snice
diff --git a/recipes/procps/procps-3.2.7/pagesz-not-constant.patch b/recipes/procps/procps-3.2.7/pagesz-not-constant.patch
deleted file mode 100644
index 8e9e1eb..0000000
--- a/recipes/procps/procps-3.2.7/pagesz-not-constant.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: procps-3.2.1/proc/devname.c
-===================================================================
---- procps-3.2.1.orig/proc/devname.c	2004-03-18 05:43:50.000000000 +1100
-+++ procps-3.2.1/proc/devname.c	2005-04-02 10:40:17.462138000 +1000
-@@ -227,7 +227,7 @@
- 
- /* number --> name */
- unsigned dev_to_tty(char *restrict ret, unsigned chop, dev_t dev_t_dev, int pid, unsigned int flags) {
--  static char buf[PAGE_SIZE];
-+  static char buf[4096];
-   char *restrict tmp = buf;
-   unsigned dev = dev_t_dev;
-   unsigned i = 0;
-@@ -249,7 +249,7 @@
-   if((flags&ABBREV_TTY) && !strncmp(tmp,"tty",  3) && tmp[3]) tmp += 3;
-   if((flags&ABBREV_PTS) && !strncmp(tmp,"pts/", 4) && tmp[4]) tmp += 4;
-   /* gotta check before we chop or we may chop someone else's memory */
--  if(chop + (unsigned long)(tmp-buf) <= sizeof buf)
-+  if(chop + (unsigned long)(tmp-buf) < sizeof buf)
-     tmp[chop] = '\0';
-   /* replace non-ASCII characters with '?' and return the number of chars */
-   for(;;){
diff --git a/recipes/procps/procps-3.2.7/procmodule.patch b/recipes/procps/procps-3.2.7/procmodule.patch
deleted file mode 100644
index fabfaba..0000000
--- a/recipes/procps/procps-3.2.7/procmodule.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-*** procps-3.2.5/proc/module.mk.orig	Sun Jul 24 11:53:49 2005
---- procps-3.2.5/proc/module.mk	Sun Jul 24 11:54:32 2005
-***************
-*** 96,102 ****
-  #################### install rules ###########################
-  
-  $(lib)$(SOFILE) : proc/$(SONAME)
-! 	$(install) --mode a=rx $< $@
-  
-  ifneq ($(SOLINK),$(SOFILE))
-  .PHONY: $(lib)$(SOLINK)
---- 96,102 ----
-  #################### install rules ###########################
-  
-  $(lib)$(SOFILE) : proc/$(SONAME)
-! 	$(install) -m 555 $< $@
-  
-  ifneq ($(SOLINK),$(SOFILE))
-  .PHONY: $(lib)$(SOLINK)
-***************
-*** 115,121 ****
-  	$(ldconfig)
-  
-  $(usr/lib)$(ANAME) : proc/$(ANAME)
-! 	$(install) --mode a=r $< $@
-  
-  # Junk anyway... supposed to go in /usr/include/$(NAME)
-  #INSTALL += $(addprefix $(include),$(HDRFILES))
---- 115,121 ----
-  	$(ldconfig)
-  
-  $(usr/lib)$(ANAME) : proc/$(ANAME)
-! 	$(install) -m 444 $< $@
-  
-  # Junk anyway... supposed to go in /usr/include/$(NAME)
-  #INSTALL += $(addprefix $(include),$(HDRFILES))
diff --git a/recipes/procps/procps-3.2.7/psmodule.patch b/recipes/procps/procps-3.2.7/psmodule.patch
deleted file mode 100644
index f298c1c..0000000
--- a/recipes/procps/procps-3.2.7/psmodule.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-*** procps-3.2.5/ps/module.mk.orig	Sun Jul 24 11:54:40 2005
---- procps-3.2.5/ps/module.mk	Sun Jul 24 11:55:02 2005
-***************
-*** 33,40 ****
-  
-  
-  $(bin)ps: ps/ps
-! 	$(install) --mode a=rx $< $@
-  
-  $(man1)ps.1 : ps/ps.1
-! 	$(install) --mode a=r $< $@
-  	-rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz
---- 33,40 ----
-  
-  
-  $(bin)ps: ps/ps
-! 	$(install) -m 555 $< $@
-  
-  $(man1)ps.1 : ps/ps.1
-! 	$(install) -m 444 $< $@
-  	-rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz
diff --git a/recipes/procps/procps-3.2.5/install.patch b/recipes/procps/procps-3.2.8/install.patch
similarity index 100%
rename from recipes/procps/procps-3.2.5/install.patch
rename to recipes/procps/procps-3.2.8/install.patch
diff --git a/recipes/procps/procps-3.2.7/linux-limits.patch b/recipes/procps/procps-3.2.8/linux-limits.patch
similarity index 100%
rename from recipes/procps/procps-3.2.7/linux-limits.patch
rename to recipes/procps/procps-3.2.8/linux-limits.patch
diff --git a/recipes/procps/procps-3.2.1/pagesz-not-constant.patch b/recipes/procps/procps-3.2.8/pagesz-not-constant.patch
similarity index 100%
rename from recipes/procps/procps-3.2.1/pagesz-not-constant.patch
rename to recipes/procps/procps-3.2.8/pagesz-not-constant.patch
diff --git a/recipes/procps/procps-3.2.5/procmodule.patch b/recipes/procps/procps-3.2.8/procmodule.patch
similarity index 100%
rename from recipes/procps/procps-3.2.5/procmodule.patch
rename to recipes/procps/procps-3.2.8/procmodule.patch
diff --git a/recipes/procps/procps-3.2.7/procps.init b/recipes/procps/procps-3.2.8/procps.init
similarity index 100%
rename from recipes/procps/procps-3.2.7/procps.init
rename to recipes/procps/procps-3.2.8/procps.init
diff --git a/recipes/procps/procps-3.2.5/psmodule.patch b/recipes/procps/procps-3.2.8/psmodule.patch
similarity index 100%
rename from recipes/procps/procps-3.2.5/psmodule.patch
rename to recipes/procps/procps-3.2.8/psmodule.patch
diff --git a/recipes/procps/procps-3.2.7/sysctl.conf b/recipes/procps/procps-3.2.8/sysctl.conf
similarity index 100%
rename from recipes/procps/procps-3.2.7/sysctl.conf
rename to recipes/procps/procps-3.2.8/sysctl.conf
diff --git a/recipes/procps/procps.inc b/recipes/procps/procps.inc
index 2de32d2..1db030d 100644
--- a/recipes/procps/procps.inc
+++ b/recipes/procps/procps.inc
@@ -8,9 +8,64 @@ PRIORITY = "optional"
 LICENSE = "GPL"
 DEPENDS = "ncurses"
 
-FILES_${PN} += "${base_libdir}/libproc-*.so"
+INC_PR = "r9"
 
-SRC_URI = "http://procps.sourceforge.net/procps-${PV}.tar.gz \
+SRC_URI = "http://procps.sourceforge.net/procps-${PV}.tar.gz;name=tarball \
+	   file://sysctl.conf \
+	   file://procps.init \
            file://install.patch;patch=1"
 
-inherit autotools
+inherit autotools update-rc.d
+
+INITSCRIPT_NAME = "procps.sh"
+INITSCRIPT_PARAMS = "start 30 S ."
+
+FILES_${PN} += "${base_libdir}/libproc-*.so"
+
+FILES = "${bindir}/top.${PN} ${base_bindir}/ps.${PN} ${bindir}/uptime.${PN} ${base_bindir}/kill.${PN} \
+	 ${bindir}/free.${PN} ${bindir}/w ${bindir}/watch ${bindir}/pgrep ${bindir}/pmap ${bindir}/pwdx \
+	 ${bindir}/snice ${bindir}/vmstat ${bindir}/slabtop ${bindir}/pkill ${bindir}/skill ${bindir}/tload \
+	 ${base_sbindir}/sysctl.${PN}"
+
+CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
+
+EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
+                CPPFLAGS=-I${STAGING_INCDIR} \
+                LDFLAGS="${LDFLAGS}" \
+                CURSES=-lncurses \
+                install='install -D' \
+                ldconfig=echo"
+
+do_install_append () {
+	install -d ${D}${sysconfdir}/init.d
+	install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf
+	install -m 0755 ${WORKDIR}/procps.init ${D}${sysconfdir}/init.d/procps.sh
+
+	mv ${D}${bindir}/uptime ${D}${bindir}/uptime.${PN}
+	mv ${D}${bindir}/top ${D}${bindir}/top.${PN}
+	mv ${D}${base_bindir}/kill ${D}${base_bindir}/kill.${PN}
+	mv ${D}${base_bindir}/ps ${D}${base_bindir}/ps.${PN}
+	mv ${D}${bindir}/free ${D}${bindir}/free.${PN}
+	mv ${D}${base_sbindir}/sysctl ${D}${base_sbindir}/sysctl.${PN}
+	mv ${D}${bindir}/pkill ${D}${bindir}/pkill.${PN}
+}
+
+pkg_postinst() {
+	update-alternatives --install ${bindir}/top top top.${PN} 90
+	update-alternatives --install ${bindir}/uptime uptime uptime.${PN} 90
+	update-alternatives --install ${base_bindir}/ps ps ps.${PN} 90
+	update-alternatives --install ${base_bindir}/kill kill kill.${PN} 90
+	update-alternatives --install ${bindir}/free free free.${PN} 90
+	update-alternatives --install ${base_sbindir}/sysctl sysctl sysctl.${PN} 90
+	update-alternatives --install ${bindir}/pkill pkill pkill.${PN} 90
+}
+
+pkg_postrm() {
+	update-alternatives --remove top top.${PN}
+	update-alternatives --remove ps ps.${PN}
+	update-alternatives --remove uptime uptime.${PN}
+	update-alternatives --remove kill kill.${PN}
+	update-alternatives --remove free free.${PN}
+	update-alternatives --remove sysctl sysctl.${PN}
+	update-alternatives --remove pkill pkill.${PN}
+}
diff --git a/recipes/procps/procps_3.1.15.bb b/recipes/procps/procps_3.1.15.bb
deleted file mode 100644
index 01114e8..0000000
--- a/recipes/procps/procps_3.1.15.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-require procps.inc
-
-SRC_URI += "file://procps_${PV}-2.diff;patch=1"
-
-EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
-                LDFLAGS=-L${STAGING_LIBDIR} -Wl,--rpath-link,${STAGING_LIBDIR} \
-                CURSES=-lncurses \
-                install='install -D' \
-                ldconfig=echo"
diff --git a/recipes/procps/procps_3.2.1.bb b/recipes/procps/procps_3.2.1.bb
deleted file mode 100644
index 33df399..0000000
--- a/recipes/procps/procps_3.2.1.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-require procps.inc
-
-PR = "r1"
-
-SRC_URI += "file://pagesz-not-constant.patch;patch=1"
-
-EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
-                LDFLAGS=-L${STAGING_LIBDIR} -Wl,--rpath-link,${STAGING_LIBDIR} \
-                CURSES=-lncurses \
-                install='install -D' \
-                ldconfig=echo"
diff --git a/recipes/procps/procps_3.2.5.bb b/recipes/procps/procps_3.2.5.bb
deleted file mode 100644
index de7524b..0000000
--- a/recipes/procps/procps_3.2.5.bb
+++ /dev/null
@@ -1,45 +0,0 @@
-require procps.inc
-
-PR = "r5"
-
-SRC_URI += "file://procmodule.patch;patch=1 \
-            file://psmodule.patch;patch=1"
-
-FILES = "${bindir}/top.${PN} ${base_bindir}/ps.${PN} ${bindir}/uptime.${PN} ${base_bindir}/kill.${PN} \
-	 ${bindir}/free.${PN} ${bindir}/w ${bindir}/watch ${bindir}/pgrep ${bindir}/pmap ${bindir}/pwdx \
-	 ${bindir}/snice ${bindir}/vmstat ${bindir}/slabtop ${bindir}/pkill ${bindir}/skill ${bindir}/tload \
-	 ${base_sbindir}/sysctl.${PN}"
-
-EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
-		CPPFLAGS=-I${STAGING_INCDIR} \
-                LDFLAGS=-L${STAGING_LIBDIR} -Wl,--rpath-link,${STAGING_LIBDIR} \
-                CURSES=-lncurses \
-                install='install -D' \
-                ldconfig=echo"
-
-do_install_append () {
-	mv ${D}${bindir}/uptime ${D}${bindir}/uptime.${PN}
-	mv ${D}${bindir}/top ${D}${bindir}/top.${PN}
-	mv ${D}${base_bindir}/kill ${D}${base_bindir}/kill.${PN}
-	mv ${D}${base_bindir}/ps ${D}${base_bindir}/ps.${PN}
-	mv ${D}${bindir}/free ${D}${bindir}/free.${PN}
-	mv ${D}${base_sbindir}/sysctl ${D}${base_sbindir}/sysctl.${PN}
-}
-
-pkg_postinst() {
-	update-alternatives --install ${bindir}/top top top.${PN} 90
-	update-alternatives --install ${bindir}/uptime uptime uptime.${PN} 90
-	update-alternatives --install ${base_bindir}/ps ps ps.${PN} 90
-	update-alternatives --install ${base_bindir}/kill kill kill.${PN} 90
-	update-alternatives --install ${bindir}/free free free.${PN} 90
-	update-alternatives --install ${base_sbindir}/sysctl sysctl sysctl.${PN} 90
-}
-
-pkg_postrm() {
-	update-alternatives --remove top top.${PN}
-	update-alternatives --remove ps ps.${PN}
-	update-alternatives --remove uptime uptime.${PN}
-	update-alternatives --remove kill kill.${PN}
-	update-alternatives --remove free free.${PN}
-	update-alternatives --remove sysctl sysctl.${PN}
-}
diff --git a/recipes/procps/procps_3.2.7.bb b/recipes/procps/procps_3.2.7.bb
deleted file mode 100644
index b31b683..0000000
--- a/recipes/procps/procps_3.2.7.bb
+++ /dev/null
@@ -1,67 +0,0 @@
-require procps.inc
-
-PR = "r9"
-
-inherit update-rc.d
-
-INITSCRIPT_NAME = "procps.sh"
-INITSCRIPT_PARAMS = "start 30 S ."
-
-SRC_URI += "file://procmodule.patch;patch=1 \
-            file://psmodule.patch;patch=1 \
-	    file://linux-limits.patch;patch=1 \
-	    file://sysctl.conf \
-	    file://procps.init \
-	    "
-
-FILES = "${bindir}/top.${PN} ${base_bindir}/ps.${PN} ${bindir}/uptime.${PN} ${base_bindir}/kill.${PN} \
-	 ${bindir}/free.${PN} ${bindir}/w ${bindir}/watch ${bindir}/pgrep ${bindir}/pmap ${bindir}/pwdx \
-	 ${bindir}/snice ${bindir}/vmstat ${bindir}/slabtop ${bindir}/pkill ${bindir}/skill ${bindir}/tload \
-	 ${base_sbindir}/sysctl.${PN}"
-
-CONFFILES_${PN} = "${sysconfdir}/sysctl.conf"
-
-EXTRA_OEMAKE = "CFLAGS=-I${STAGING_INCDIR} \
-                CPPFLAGS=-I${STAGING_INCDIR} \
-		usr/bin=${D}${bindir}/ \
-		bin=${D}${base_bindir}/ \
-		usr/proc/bin=${D}${bindir}/ \
-                LDFLAGS="${LDFLAGS}" \
-                CURSES=-lncurses \
-                install='install -D' \
-                ldconfig=echo"
-
-do_install_append () {
-	install -d ${D}${sysconfdir}
-	install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf
-	install -d ${D}${sysconfdir}/init.d
-	install -m 0755 ${WORKDIR}/procps.init ${D}${sysconfdir}/init.d/procps.sh
-
-	mv ${D}${bindir}/uptime ${D}${bindir}/uptime.${PN}
-	mv ${D}${bindir}/top ${D}${bindir}/top.${PN}
-	mv ${D}${base_bindir}/kill ${D}${base_bindir}/kill.${PN}
-	mv ${D}${base_bindir}/ps ${D}${base_bindir}/ps.${PN}
-	mv ${D}${bindir}/free ${D}${bindir}/free.${PN}
-	mv ${D}${base_sbindir}/sysctl ${D}${base_sbindir}/sysctl.${PN}
-	mv ${D}${bindir}/pkill ${D}${bindir}/pkill.${PN}
-}
-
-pkg_postinst() {
-	update-alternatives --install ${bindir}/top top top.${PN} 90
-	update-alternatives --install ${bindir}/uptime uptime uptime.${PN} 90
-	update-alternatives --install ${base_bindir}/ps ps ps.${PN} 90
-	update-alternatives --install ${base_bindir}/kill kill kill.${PN} 90
-	update-alternatives --install ${bindir}/free free free.${PN} 90
-	update-alternatives --install ${base_sbindir}/sysctl sysctl sysctl.${PN} 90
-	update-alternatives --install ${bindir}/pkill pkill pkill.${PN} 90
-}
-
-pkg_postrm() {
-	update-alternatives --remove top top.${PN}
-	update-alternatives --remove ps ps.${PN}
-	update-alternatives --remove uptime uptime.${PN}
-	update-alternatives --remove kill kill.${PN}
-	update-alternatives --remove free free.${PN}
-	update-alternatives --remove sysctl sysctl.${PN}
-	update-alternatives --remove pkill pkill.${PN}
-}
diff --git a/recipes/procps/procps_3.2.8.bb b/recipes/procps/procps_3.2.8.bb
new file mode 100644
index 0000000..22f54c3
--- /dev/null
+++ b/recipes/procps/procps_3.2.8.bb
@@ -0,0 +1,11 @@
+require procps.inc
+
+PR = "${INC_PR}.0"
+
+SRC_URI += "file://procmodule.patch;patch=1 \
+            file://psmodule.patch;patch=1 \
+	    file://linux-limits.patch;patch=1 \
+	    "
+
+SRC_URI[tarball.md5sum] = "9532714b6846013ca9898984ba4cd7e0"
+SRC_URI[tarball.sha256sum] = "11ed68d8a4433b91cd833deb714a3aa849c02aea738c42e6b4557982419c1535"
-- 
1.7.0.2







More information about the Openembedded-devel mailing list