On 08/01/2026 12:24, Jishan Alam wrote:
Hello all,

I’ve been experimenting with whowatch in my personal fork and have successfully replaced wtmp/utmp with the utmpx API. It’s been working well so far, except for the sysinfo plugin, which is currently unable to read system information on FreeBSD. Otherwise, the core functionality seems fine.

Repository & branch:
https://github.com/Zedai00/whowatch/tree/freebsd-utmpx-experiment
<https://github.com/Zedai00/whowatch/tree/freebsd-utmpx-experiment>
I’ve also generated a format-patch diff for all changes, which is attached.

If anyone can test this on their FreeBSD machine, it would be greatly appreciated. Feedback on the sysinfo issue would be especially useful.

Hello and thank you for your quick fix on this!

I made a quick update for port, if anybody what to test it from the ports tree, see attached patch. If you apply it, remove "files" subdir before running "make".

Your fixed version of whowatch runs, but it has different UI from the old version 1.4, and the older version had colors for characters used for tree branches. As I understand, it has nothing to do with your utmpx fix, it was probably made by original author.

One issue I found is that on one machine it does not display process [o]wner info, it shows -1 instead. I don't know why. On the other machine it shows the correct owner info. Botch machines are 14.3 amd64.
On botch machines I tried to run it as normal user and as root.

3 users: 0 local, 0 telnet, 1 ssh, 2 other   load: 1.08, 0.66, 0.50
56 tasks: 0 running, 0 sleeping
    1   -1       - /sbin/init
69150   -1        |- /bin/sh ./local_iostat_disk.sh
69168   -1        | |- /bin/sh ./local_iostat_disk.sh
69167   -1        | |- tail -n 3
69166   -1        | `- iostat -w 250 -c 2 -x vtbd0 vtbd1 da0
69149   -1        |- /bin/sh ./local_iostat_cpu.sh
69164   -1        | `- iostat -d -C -n 0 -w 240 -c 2
  766   -1        |- /usr/sbin/bsnmpd -p /var/run/snmpd.pid
  890   -1        |- /usr/sbin/cron -s
67669   -1        | |- cron: running job

Be aware that the attached Makefile uses 20250109 as a version number, not 1.8.6, it is just for testing.

Kind regards
Miroslav Lachman
diff --git a/sysutils/whowatch/Makefile b/sysutils/whowatch/Makefile
index f1ccc7bad7e..19a010709e2 100644
--- a/sysutils/whowatch/Makefile
+++ b/sysutils/whowatch/Makefile
@@ -1,25 +1,23 @@
 PORTNAME=	whowatch
-PORTVERSION=	1.4
-PORTREVISION=	2
+PORTVERSION=	20250109
+#PORTEPOCH=	0
 CATEGORIES=	sysutils
-MASTER_SITES=	http://wizard.ae.krakow.pl/~mike/download/ \
-		PACKETSTORM/UNIX/IDS
 
-MAINTAINER=	[email protected]
+MAINTAINER=	[email protected]
 COMMENT=	Displays information in real time about users currently logged on
 WWW=		http://wizard.ae.krakow.pl/~mike/
 
 LICENSE=	GPLv2
 LICENSE_FILE=	${WRKSRC}/COPYING
 
-USES=		ncurses
+USES=		autoreconf ncurses
 GNU_CONFIGURE=	yes
-GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
 
-PLIST_FILES=	bin/whowatch share/man/man1/${PORTNAME}.1.gz
+USE_GITHUB=	yes
+GH_ACCOUNT=	Zedai00
+GH_TAGNAME=	4f5be1f
 
-pre-patch:
-	@${FIND} ${WRKSRC} -name 'proc????.c' | ${XARGS} ${REINPLACE_CMD} -E \
-		-e 's/kp_.?proc\.._/ki_/ ; s/pcred\.p_//'
+PLIST_FILES=	bin/whowatch \
+		share/man/man1/whowatch.1.gz
 
 .include <bsd.port.mk>
diff --git a/sysutils/whowatch/distinfo b/sysutils/whowatch/distinfo
index 5a652d9df72..43803d41f08 100644
--- a/sysutils/whowatch/distinfo
+++ b/sysutils/whowatch/distinfo
@@ -1,2 +1,3 @@
-SHA256 (whowatch-1.4.tar.gz) = 221564dbdf503990e6e14803a1df0c735c61fa6069ebc56a57a8fba9ac22e4f4
-SIZE (whowatch-1.4.tar.gz) = 43084
+TIMESTAMP = 1767915157
+SHA256 (Zedai00-whowatch-20250109-4f5be1f_GH0.tar.gz) = 6dad248a35400c7766274dd5210a8dd4d2d415e98c5b7e949ba77906f81dca1d
+SIZE (Zedai00-whowatch-20250109-4f5be1f_GH0.tar.gz) = 48551

Reply via email to