On 2016/09/20 19:40, Christian Weisgerber wrote:
> On 2016-09-20, Stuart Henderson <[email protected]> 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
+