The OpenBSD ports collection comes with 1000s of software packages, and is organized as a hierarchical directory structure. Locating specific ports can sometimes be tricky, especially when the port name doesn’t contain a descriptive name. To deal with these situations, the global Makefile supports a serach keyword:
$ cd /usr/ports
$ make search key="debug" 2>&1 |more
Port: electricfence-2.0.5
Path: devel/ElectricFence
Info: library providing malloc debugging via VM protection
Maint: Niklas Hallqvist
Index: devel
L-deps:
B-deps:
R-deps:
Archs: any
Port: ald-0.1.5a
Path: devel/ald
Info: Assembly Language Debugger
Maint: Patrick Alken
Index: devel
L-deps:
B-deps:
R-deps:
Archs: i386
This is super useful for locating all ports that match a specific purpose (e.g., all debugging utilities).