On 2016/09/20 19:40, Christian Weisgerber wrote:
> On 2016-09-20, Stuart Henderson <s...@spacehopper.org> wrote:
> 
> > Any suggestions what to do in the short term about these kvm-grovellers?
> 
> I move that we delete lsof.  It has been building fine on the
> amd64.ports machines and I was mystified how this could be until I
> realized that it uses /usr/src/sys and I hadn't updated src.  Crazy.

I'm OK with this. net/arm will break; the diff below *might* fix that,
but I'm not particularly interested in running tor to test it.

> I don't know about libgtop2.  Somebody should figure out what its
> consumers actually need; maybe the kvm groveling can be replaced
> by a dummy function.  I'm not volunteering, though.

+1

Index: Makefile
===================================================================
RCS file: /cvs/ports/net/arm/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- Makefile    7 May 2016 12:40:58 -0000       1.5
+++ Makefile    21 Sep 2016 09:47:04 -0000
@@ -4,7 +4,7 @@ COMMENT =               terminal status monitor for T
 
 V =                    1.4.5.0
 DISTNAME =             arm-${V}
-REVISION =             2
+REVISION =             3
 
 SUBST_VARS +=          V
 
@@ -22,7 +22,6 @@ EXTRACT_SUFX =                .tar.bz2
 
 MODULES =              lang/python
 RUN_DEPENDS =          net/tor \
-                       sysutils/lsof \
                        devel/desktop-file-utils
 
 NO_TEST =              Yes
Index: patches/patch-src_util_connections_py
===================================================================
RCS file: patches/patch-src_util_connections_py
diff -N patches/patch-src_util_connections_py
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_util_connections_py       21 Sep 2016 09:47:04 -0000
@@ -0,0 +1,48 @@
+$OpenBSD$
+--- src/util/connections.py.orig       Wed May  4 08:19:00 2016
++++ src/util/connections.py    Wed May  4 08:31:16 2016
+@@ -70,6 +70,9 @@ RUN_SOCKSTAT = "sockstat | egrep \"%s *%s.*ESTABLISHED
+ RUN_BSD_SOCKSTAT = "sockstat -4c | grep '%s *%s'"
+ RUN_BSD_PROCSTAT = "procstat -f %s | grep TCP | grep -v 0.0.0.0:0"
+ 
++# userid   procname   81514    8* internet stream tcp 0x0 10.15.5.2:15876 --> 
10.15.5.90:12345
++RUN_BSD_FSTAT = "fstat | grep -E '%s *%s.*internet6? stream tcp .* --> '"
++
+ RESOLVERS = []                      # connection resolvers available via the 
singleton constructor
+ RESOLVER_FAILURE_TOLERANCE = 3      # number of subsequent failures before 
moving on to another resolver
+ RESOLVER_SERIAL_FAILURE_MSG = "Unable to query connections with %s, trying %s"
+@@ -207,6 +210,7 @@ def getResolverCommand(resolutionCmd, processName, pro
+   elif resolutionCmd == Resolver.SOCKSTAT: return RUN_SOCKSTAT % 
(processName, processPid)
+   elif resolutionCmd == Resolver.BSD_SOCKSTAT: return RUN_BSD_SOCKSTAT % 
(processName, processPid)
+   elif resolutionCmd == Resolver.BSD_PROCSTAT: return RUN_BSD_PROCSTAT % 
processPid
++  elif resolutionCmd == Resolver.BSD_FSTAT: return RUN_BSD_FSTAT % 
(processName, processPid)
+   else: raise ValueError("Unrecognized resolution type: %s" % resolutionCmd)
+ 
+ def getConnections(resolutionCmd, processName, processPid = ""):
+@@ -272,6 +276,9 @@ def getConnections(resolutionCmd, processName, process
+       elif resolutionCmd == Resolver.BSD_PROCSTAT:
+         localIp, localPort = comp[9].split(":")
+         foreignIp, foreignPort = comp[10].split(":")
++      elif resolutionCmd == Resolver.BSD_FSTAT:
++        localIp, localPort = comp[9].split(":")
++        foreignIp, foreignPort = comp[11].split(":")
+       
+       conn.append((localIp, localPort, foreignIp, foreignPort))
+     
+@@ -337,12 +344,14 @@ def getSystemResolvers(osType = None):
+   
+   if osType == "FreeBSD":
+     resolvers = [Resolver.BSD_SOCKSTAT, Resolver.BSD_PROCSTAT, Resolver.LSOF]
+-  elif osType in ("OpenBSD", "Darwin"):
++  elif osType == "OpenBSD":
++    resolvers = [Resolver.BSD_FSTAT]
++  elif osType == "Darwin":
+     resolvers = [Resolver.LSOF]
+   else:
+     resolvers = [Resolver.NETSTAT, Resolver.SOCKSTAT, Resolver.LSOF, 
Resolver.SS]
+   
+-  # proc resolution, by far, outperforms the others so defaults to this is 
able
++  # proc resolution, by far, outperforms the others so defaults to this if 
able
+   if procTools.isProcAvailable():
+     resolvers = [Resolver.PROC] + resolvers
+   

Reply via email to