From 6cccbace7755ff7c195fc9f4dcfc9d0b3f32209f Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Fri, 23 Nov 2018 09:57:19 +0100 Subject: bin/wtf: use local call to pkgfile instead of web api --- bin/wtf | 59 ++++++++++++++++++++++------------------------------------- 1 file changed, 22 insertions(+), 37 deletions(-) (limited to 'bin/wtf') diff --git a/bin/wtf b/bin/wtf index 1963cff..232ffe7 100755 --- a/bin/wtf +++ b/bin/wtf @@ -2,45 +2,30 @@ # shellcheck disable=SC2119,SC2120 +# shellcheck source=../lib/load-configuration +. "${0%/*}/../lib/load-configuration" + +# TODO: search i486, too + search="$*" -wget -qO- 'https://pkgapi.arch32.tyzoid.com/esearch/'"${search##*/}"'.xml' | \ - awk ' - BEGIN { - package=""; - version=""; - repo=""; - filelen=0; - } - { - if ($1 == "") { - printf "[" repo "] " package " (" version "):"; - for (i=1; i <= filelen; i++) { - printf " " file[i]; - } - print ""; - package=""; - version=""; - repo=""; - filelen=0; - } - if ($1 ~ /^/) { - package = gensub(/<[^>]+>/, " ", "g", $1); - } - if ($1 ~ /^/) { - version = gensub(/<[^>]+>/, "", "g", $1); - } - if ($1 ~ /^/) { - repo = gensub(/<[^>]+>/, "", "g", $1); - } - if ($1 ~ /^/) { - file[++filelen] = gensub(/<[^>]+>/, "", "g", $1); - } - } - ' | \ +pkgfile -wC "${base_dir}/misc/pacman-i686.conf" -s "${search##*/}" | \ + xargs -rn1 pkgfile -wC "${base_dir}/misc/pacman-i686.conf" -l | \ if printf '%s\n' "${search}" | \ - grep -q '/'; then + grep -q '^/'; then grep -w "${search}" || true else - cat - fi + grep "/${search}\\(/\\|\$\\)" || true + fi | \ + sort -k2,2 | \ + sed ' + s,^\([^/[:space:]]\+\)/\([^/[:space:]]\+\)\s\(\S.*\)$,\2 [\1]: \3, + ' | \ + sed ' + :a + $!N + s#^\(\([^/:[:space:]]\+ [^/:[:space:]]\+, \)*[^/:[:space:]]\+ [^/:[:space:]]\+\): \([^\n]\+\)\n\([^/:[:space:]]\+ [^/:[:space:]]\+\): \3$#\1, \4: \3# + ta + P + D + ' -- cgit v1.2.3-54-g00ecf