Below is a diff that updates sysutils/pstree to 2.39
The distribution includes Ingo's manpage
(an older version with a trailing whitespace),
so just use that and drop files/
Also, sthen's recent patch is included, so drop patches/
> Don't use uninitialized structs when ioctl() fails,
> e.g. if run with stdout redirected.
OK?
Jan
Index: Makefile
===================================================================
RCS file: /cvs/ports/sysutils/pstree/Makefile,v
retrieving revision 1.21
diff -u -p -u -p -r1.21 Makefile
--- Makefile 11 May 2015 11:47:27 -0000 1.21
+++ Makefile 21 May 2015 08:53:40 -0000
@@ -1,8 +1,7 @@
# $OpenBSD: Makefile,v 1.21 2015/05/11 11:47:27 sthen Exp $
COMMENT = list processes as a tree
-DISTNAME = pstree-2.36
-REVISION = 2
+DISTNAME = pstree-2.39
CATEGORIES = sysutils
HOMEPAGE = http://www.thp.uni-duisburg.de/pstree/
@@ -22,6 +21,6 @@ do-build:
do-install:
${INSTALL_PROGRAM} ${WRKBUILD}/pstree ${PREFIX}/bin/pstree
- ${INSTALL_MAN} ${FILESDIR}/pstree.1 ${PREFIX}/man/man1
+ ${INSTALL_MAN} ${WRKBUILD}/pstree.1 ${PREFIX}/man/man1
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/sysutils/pstree/distinfo,v
retrieving revision 1.9
diff -u -p -u -p -r1.9 distinfo
--- distinfo 11 May 2013 08:11:12 -0000 1.9
+++ distinfo 21 May 2015 08:53:40 -0000
@@ -1,2 +1,2 @@
-SHA256 (pstree-2.36.tar.gz) = nQXShDKhL+h0S4leELSjkAi7pPw3h7NZXaPPWZt1pO8=
-SIZE (pstree-2.36.tar.gz) = 11179
+SHA256 (pstree-2.39.tar.gz) = fJvDtD7m+TqbwFTu/x550woBysE9+BDilT4/wkrYR58=
+SIZE (pstree-2.39.tar.gz) = 12929
Index: files/pstree.1
===================================================================
RCS file: files/pstree.1
diff -N files/pstree.1
--- files/pstree.1 3 Nov 2014 19:19:44 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,125 +0,0 @@
-.\" $OpenBSD: pstree.1,v 1.4 2014/11/03 19:19:44 schwarze Exp $
-.\"
-.\" Copyright (c) 2002 Sebastian Stark
-.\" Copyright (c) 2013 Ingo Schwarze <[email protected]>
-.\"
-.\" Permission to use, copy, modify, and distribute this manual for any
-.\" purpose with or without fee is hereby granted, provided that the above
-.\" copyright notice and this permission notice appear in all copies.
-.\"
-.\" THE MANUAL IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-.\" WITH REGARD TO THIS MANUAL INCLUDING ALL IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-.\" OR IN CONNECTION WITH THE USE OF THIS MANUAL.
-.\"
-.Dd $Mdocdate: November 3 2014 $
-.Dt PSTREE 1
-.Os
-.Sh NAME
-.Nm pstree
-.Nd list processes as a tree
-.Sh SYNOPSIS
-.Nm pstree
-.Op Fl Uw
-.Op Fl f Ar file
-.Op Fl g Ar n
-.Op Fl l Ar n
-.Op Fl p Ar pid
-.Op Fl s Ar string
-.Op Fl u Ar user
-.Op Ar rootpid ...
-.Sh DESCRIPTION
-Tree sorted output frontend for
-.Xr ps 1 .
-.Nm
-uses the output of the
-.Xr ps 1
-program to show nicely formatted process family trees.
-.Pp
-For each
-.Ar rootpid
-argument,
-.Nm
-shows one tree rooted at that process.
-By default, if no
-.Ar rootpid
-argument is given, it shows a single tree rooted at process 1.
-.Pp
-The options are as follows:
-.Bl -tag -width 9n
-.It Fl f Ar file
-Read input from
-.Ar file
-instead of running
-.Dq ps -kaxwwo user,pid,ppid,pgid,command .
-If
-.Ar file
-is a single dash
-.Pq Sq \&- ,
-.Nm
-reads from standard input.
-.It Fl g Ar n
-Use graphics chars for tree.
-.Ar n
-= 1: IBM-850,
-.Ar n
-= 2: VT100,
-.Ar n
-= 3: UTF8.
-.It Fl l Ar n
-Show a maximum of
-.Ar n
-levels.
-.It Fl p Ar pid
-Show only parents and descendants of the process
-.Ar pid .
-.It Fl s Ar string
-Show only parents and descendants of processes containing the
-.Ar string
-in their commandline.
-.It Fl U
-Do not show branches containing only root processes.
-.It Fl u Ar user
-Show only parents and descendants of processes of
-.Ar user .
-.It Fl w
-Wide output, not truncated to terminal width.
-.El
-.Sh ENVIRONMENT
-.Bl -tag -width COLUMNS
-.It Ev COLUMNS
-The width of the terminal in characters.
-This can be set with
-.Xr stty 1 Cm columns Ar number .
-.El
-.Sh EXIT STATUS
-.Ex -std
-.Sh EXAMPLES
-Show branches of processes containing
-.Dq \&httpd
-using VT100 graphic chars:
-.Pp
-.Cm $ pstree -g 2 -s httpd
-.Pp
-Show process number
-.Dq \&15495
-and its descendants:
-.Pp
-.Cm $ pstree 15495
-.Pp
-Show process number
-.Dq \&15495
-and its parents and descendants:
-.Pp
-.Cm $ pstree -p 15495
-.Sh SEE ALSO
-.Xr ps 1 ,
-.Xr top 1
-.Sh AUTHORS
-The program was written and is maintained by
-.An Fred Hucht Aq Mt [email protected] ,
-and this manual page was initially set up by
-.An Sebastian Stark .
Index: patches/patch-pstree_c
===================================================================
RCS file: patches/patch-pstree_c
diff -N patches/patch-pstree_c
--- patches/patch-pstree_c 11 May 2015 11:47:27 -0000 1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-$OpenBSD: patch-pstree_c,v 1.4 2015/05/11 11:47:27 sthen Exp $
-
-If ioctl fails, the structs are uninitialized, so don't use them.
-
---- pstree.c.orig Fri Apr 12 10:47:03 2013
-+++ pstree.c Mon May 11 12:44:12 2015
-@@ -71,7 +71,7 @@ extern getargs(struct ProcInfo *, int, char *, int);
- * (Net|Open|Free)BSD & Darwin merged by Ralf Meyer <ralf AT
thp.Uni-Duisburg.DE>
- */
- # define HAS_PGID
--# define PSCMD "ps -axwwo user,pid,ppid,pgid,command"
-+# define PSCMD "ps -kaxwwo user,pid,ppid,pgid,command"
- # define PSFORMAT "%s %ld %ld %ld %[^\n]"
- # define PSVARS P[i].name, &P[i].pid, &P[i].ppid, &P[i].pgid, P[i].cmd
- # define PSVARSN 5
-@@ -872,12 +872,12 @@ int main(int argc, char **argv) {
- Columns = atoi((char*)termdef(fileno(stdout),'c'));
- #elif defined(TIOCGWINSZ)
- struct winsize winsize;
-- ioctl(fileno(stdout), TIOCGWINSZ, &winsize);
-- Columns = winsize.ws_col;
-+ if (ioctl(fileno(stdout), TIOCGWINSZ, &winsize) != -1)
-+ Columns = winsize.ws_col;
- #elif defined(TIOCGSIZE)
- struct ttysize ttysize;
-- ioctl(fileno(stdout), TIOCGSIZE, &ttysize);
-- Columns = ttysize.ts_cols;
-+ if (ioctl(fileno(stdout), TIOCGSIZE, &ttysize) != -1)
-+ Columns = ttysize.ts_cols;
- #else
- char *env = getenv("COLUMNS");
- Columns = env ? atoi(env) : 80;