X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/4974d6710103d2c5c0b61817b29739b5f8fbc4be..2f61cc7adbb880a728745ac1467cfc4196f793f8:/bin/apkv diff --git a/bin/apkv b/bin/apkv index 012d8e2..d8035bd 100755 --- a/bin/apkv +++ b/bin/apkv @@ -84,7 +84,7 @@ if [ "$method" = list ]; then # ignore getopt's --, we don't care if an arg begins with - anyway [ "$1" = '--' ] && switch >/dev/null - all=$(apk info) + all=$(apk info | sort) # show packages if no args if [ $# -eq 0 ]; then for x in $(echo "$all" | grep '^\.'); do @@ -103,7 +103,7 @@ if [ "$method" = list ]; then # replacing chars may result in variable collision—but # official apk repos do not have any package names that # would cause issues - eval "__$(echo $c | tr -s '.:-' _)=1" + eval "__$(echo $c | tr -s '.:+-' _ | tr -s '<=~>@' "\n" | head -1)=1" done done # check world against owned packages @@ -111,7 +111,7 @@ if [ "$method" = list ]; then orphans=$( for x in $(cat /etc/apk/world | grep -v '^\.'); do eval "[ \${__$( - echo $x | tr -s '.:-' _ | tr -s '<=~>@' "\n" | head -1 + echo $x | tr -s '.:+-' _ | tr -s '<=~>@' "\n" | head -1 )-0} -eq 0 ]" && echo $x done )