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 +