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

Philip Balister philip at balister.org
Tue Mar 23 01:59:09 UTC 2010


Acked-by: Philip Balister <philip at balister.org>


On 03/22/2010 07:05 AM, Marcin Juszkiewicz wrote:
> 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"




More information about the Openembedded-devel mailing list