kiss-outdated: minor fixes

This commit is contained in:
Dylan Araps 2021-09-06 12:39:07 +03:00
parent 5d55bef961
commit fd8cfe1c69
No known key found for this signature in database
GPG Key ID: 13295DAC2CF13B5C
1 changed files with 33 additions and 22 deletions

View File

@ -68,6 +68,10 @@ EOF
remote=fonts:fontawesome remote=fonts:fontawesome
;; ;;
foot-pgo)
remote=foot
;;
gc) gc)
remote=boehm-gc remote=boehm-gc
;; ;;
@ -199,6 +203,10 @@ EOF
remote=st-term remote=st-term
;; ;;
sway-no-seat | sway-tiny)
remote=sway
;;
terminus-font) terminus-font)
remote=fonts:terminus remote=fonts:terminus
;; ;;
@ -227,7 +235,23 @@ EOF
esac esac
} }
get_versions() { repology_version() {
[ -f "$1.svg" ] || return 1
read -r remote_ver < "$1.svg" || :
remote_ver=${remote_ver%</text>*}
remote_ver=${remote_ver##*>}
}
repo_version() {
read -r ver _ 2>/dev/null < "$2/version" || {
printf '%-30s local version not found\n' "$1" >&2
return 1
}
[ "$ver" != git ]
}
get_outdated() {
repo=${repo%%/} repo=${repo%%/}
printf '\n[Checking Repology for outdated packages in %s]\n\n' "$repo" >&2 printf '\n[Checking Repology for outdated packages in %s]\n\n' "$repo" >&2
@ -235,12 +259,9 @@ get_versions() {
pkg=${pkg%%/} pkg=${pkg%%/}
repology_name "${pkg##*/}" repology_name "${pkg##*/}"
case $remote in [ "$remote" = - ] ||
-) continue set -- "$@" -z "$remote.svg" \
esac "https://repology.org/badge/latest-versions/$remote.svg"
set -- "$@" -z "$remote.svg" \
"https://repology.org/badge/latest-versions/$remote.svg"
done done
mkcd "$tmp/${repo##*/}" mkcd "$tmp/${repo##*/}"
@ -252,20 +273,11 @@ get_versions() {
pkg=${_pkg%%/} pkg=${_pkg%%/}
pkg=${pkg##*/} pkg=${pkg##*/}
read -r ver _ 2>/dev/null < "$_pkg/version" || { repo_version "$pkg" "$_pkg" || continue
printf '%-30s local version not found\n' "$pkg" >&2
continue
}
[ "$ver" != git ] || continue
repology_name "$pkg" repology_name "$pkg"
[ -f "$remote.svg" ] || continue repology_version "$remote" || continue
read -r remote_ver < "$remote.svg" || : case $remote_ver in *", $ver"* | *"$ver,"* | "$ver" | - | '')
remote_ver=${remote_ver%</text>*}
remote_ver=${remote_ver##*>}
case $remote_ver in *", $ver"* | *"$ver,"* | "$ver" | -)
continue continue
esac esac
@ -276,16 +288,15 @@ get_versions() {
main() { main() {
set -e set -e
case $1 in '') [ "$1" ] ||
die 'usage: kiss [ou]tdated /path/to/repo...\n' die 'usage: kiss [ou]tdated /path/to/repo...\n'
esac
mkdir -p "${tmp:=${XDG_CACHE_HOME:-"$HOME/.cache"}/kiss/repology}" mkdir -p "${tmp:=${XDG_CACHE_HOME:-"$HOME/.cache"}/kiss/repology}"
for repo do for repo do
old_pwd=$PWD old_pwd=$PWD
cd "$repo" cd "$repo"
get_versions get_outdated
cd "$old_pwd" cd "$old_pwd"
done done
} }