aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHung-Yi Chen <gaod@hychen.org>2026-01-09 14:48:00 +0000
committerMichael Osipov <michaelo@FreeBSD.org>2026-01-09 15:28:57 +0000
commit0290d902a098f3ff52c9b167a4ffad8b79032dfe (patch)
tree3775f8e780d70377ae6d0042cc428fc203a89bc0
parentd047609313784ab102b53de2964e6fe5cdd84808 (diff)
[NEW PORT] sysutils/witr: Witr (why-is-this-running)
Co-authored-by: Michael Osipov <michaelo@FreeBSD.org> PR: 292143
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/witr/Makefile37
-rw-r--r--sysutils/witr/distinfo15
-rw-r--r--sysutils/witr/pkg-descr20
4 files changed, 73 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 22c00cd77494..33a0ae6ceeb6 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -1594,6 +1594,7 @@
SUBDIR += whowatch
SUBDIR += wiimms
SUBDIR += wiper
+ SUBDIR += witr
SUBDIR += wmapmload
SUBDIR += wmbluecpu
SUBDIR += wmbsdbatt
diff --git a/sysutils/witr/Makefile b/sysutils/witr/Makefile
new file mode 100644
index 000000000000..cec978a06f98
--- /dev/null
+++ b/sysutils/witr/Makefile
@@ -0,0 +1,37 @@
+PORTNAME= witr
+PORTVERSION= 0.2.2
+DISTVERSIONPREFIX= v
+CATEGORIES= sysutils
+
+MAINTAINER= gaod@hychen.org
+COMMENT= Witr (why-is-this-running)
+WWW= https://github.com/pranshuparmar/witr
+
+LICENSE= APACHE20
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= go:1.25+,modules
+USE_GITHUB= yes
+GH_ACCOUNT= pranshuparmar
+GH_PROJECT= witr
+GH_TUPLE= cpuguy83:go-md2man:v2.0.7:cpuguy83_go_md2man_v2/vendor/github.com/cpuguy83/go-md2man/v2 \
+ inconshreveable:mousetrap:v1.1.0:inconshreveable_mousetrap/vendor/github.com/inconshreveable/mousetrap \
+ russross:blackfriday:v2.1.0:russross_blackfriday_v2/vendor/github.com/russross/blackfriday/v2 \
+ spf13:cobra:v1.10.2:spf13_cobra/vendor/github.com/spf13/cobra \
+ spf13:pflag:v1.0.10:spf13_pflag/vendor/github.com/spf13/pflag \
+ yaml:go-yaml:v3.0.4:yaml_go_yaml/vendor/go.yaml.in/yaml/v3
+
+GO_TARGET= ./cmd/${PORTNAME}
+GO_BUILDFLAGS= -ldflags "\
+ -X main.version=${DISTVERSIONPREFIX}${PORTVERSION} \
+ -X main.commit=${DISTVERSIONPREFIX}${PORTVERSION} \
+ -X main.buildDate=2026-01-09"
+
+PLIST_FILES= bin/witr \
+ share/man/man1/witr.1.gz
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKDIR}/bin/witr ${STAGEDIR}${PREFIX}/bin/
+ ${INSTALL_MAN} ${WRKSRC}/docs/cli/witr.1 ${STAGEDIR}${PREFIX}/share/man/man1/
+
+.include <bsd.port.mk>
diff --git a/sysutils/witr/distinfo b/sysutils/witr/distinfo
new file mode 100644
index 000000000000..19fdda032f05
--- /dev/null
+++ b/sysutils/witr/distinfo
@@ -0,0 +1,15 @@
+TIMESTAMP = 1767969842
+SHA256 (pranshuparmar-witr-v0.2.2_GH0.tar.gz) = cf67ed8a12649d7921dcb4da6c4765f79577eac1f84405db14f802ecbce719b1
+SIZE (pranshuparmar-witr-v0.2.2_GH0.tar.gz) = 310018
+SHA256 (cpuguy83-go-md2man-v2.0.7_GH0.tar.gz) = ca3a5b57e2c01759f5a00ad2a578d034c5370fae9aa7a6c3af5648b2fc802a92
+SIZE (cpuguy83-go-md2man-v2.0.7_GH0.tar.gz) = 11337
+SHA256 (inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = ab23e7c5cbf42564eb0190ee051b7217c04fd2599d2f26e9ebe205db75963141
+SIZE (inconshreveable-mousetrap-v1.1.0_GH0.tar.gz) = 5338
+SHA256 (russross-blackfriday-v2.1.0_GH0.tar.gz) = a13af0fc5305713f5154693feaf654d024689efea76390091a5e8c757335b4f4
+SIZE (russross-blackfriday-v2.1.0_GH0.tar.gz) = 92896
+SHA256 (spf13-cobra-v1.10.2_GH0.tar.gz) = 8ee67b82ddb730f6ed639724d19ddd874be36b65da45529ad5cacce53c310704
+SIZE (spf13-cobra-v1.10.2_GH0.tar.gz) = 201437
+SHA256 (spf13-pflag-v1.0.10_GH0.tar.gz) = 3d69f6fc641f43f3cb7bc309d083da7ca2110d11c0bbcec5d4c01036e884014f
+SIZE (spf13-pflag-v1.0.10_GH0.tar.gz) = 63154
+SHA256 (yaml-go-yaml-v3.0.4_GH0.tar.gz) = 1b3eeb663eb0c09b462dc3383fccc99164fab8f6818a7046336f2fe2c45c764b
+SIZE (yaml-go-yaml-v3.0.4_GH0.tar.gz) = 92661
diff --git a/sysutils/witr/pkg-descr b/sysutils/witr/pkg-descr
new file mode 100644
index 000000000000..84c4b4efcfe9
--- /dev/null
+++ b/sysutils/witr/pkg-descr
@@ -0,0 +1,20 @@
+witr (why-is-this-running) is a diagnostic tool that explains the causal
+chain of how and why a process came to exist on your system.
+
+It answers questions like:
+- Why is this running?
+- How did it start?
+- What is keeping it running?
+- What context does it belong to?
+
+witr supports querying by process name, PID, or port number, and provides
+detailed information about process ancestry, service detection (systemd on
+Linux, rc.d on FreeBSD), container detection (jails, docker), Git repository
+context, and resource usage warnings.
+
+Features:
+- Zero configuration required
+- Read-only and non-destructive
+- Multiple output formats (standard, short, tree, JSON)
+- FreeBSD native tools support (ps, procstat, sockstat, fstat)
+- Works without procfs mounted