config

OpenBSD system configuration
git clone git://jacobedwards.org/config
Log | Files | Refs | README

commit 006c6613830626e0373ae2cd25577ad6957cff49
parent a8657d3f52f667690d8bf1a5988d6e8935dd6905
Author: Jacob R. Edwards <n/a>
Date:   Wed, 20 Jul 2022 15:50:50 -0700

Fix and advance architecture logic in pkg_list, probably

Diffstat:
Mlocal/bin/bin/pkg_list | 21++++++++++++++++++---
1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/local/bin/bin/pkg_list b/local/bin/bin/pkg_list @@ -4,6 +4,21 @@ # # List OpenBSD ports for your arch (requires 'portslist' package) -awk -F '|' -v OFS=' ' -v arch="$(uname -p)" 'match($11, "^(" arch "|any)$") > 0 { - print($1, $4); -}' < /usr/local/share/ports-INDEX | egrep -i -- "${1:-.}" +awk -F '|' -v OFS=' ' -v arch="$(uname -p)" ' +function matcharch(arch, field) { + if (!___ar__) + __ar__ = "^any$|(^!?| )" arch "( |$)" + matched = match(field, __ar__) + return match(field, "^!") ? !matched : matched +} + +BEGIN { + areg = "^any$|(^| )" arch "( |$)"; +} + +{ + if (NF != 14 || matcharch(arch, $11)) + print($1, $4); + else + print($1, $4 " (for " $11 "; not " arch ")"); +}' < /usr/local/share/ports-INDEX | egrep -- "${1:-.}"