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:
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:-.}"