apkg-outdated (1000B)
1 #!/bin/sh 2 3 [ "$1" ] || { 4 echo "script to check outdated package from repology" 5 echo " usage: $0 <port path> <port path> ..." 6 echo 7 exit 1 8 } 9 10 while [ "$1" ]; do 11 unset curver port 12 [ -f $1/abuild ] && port=$(realpath $1) 13 [ "$port" ] || { shift; continue; } 14 repo=${port%/*}; repo=${repo##*/} 15 pname=${1##*/} 16 curver=$(grep ^version= $port/abuild | awk -F = '{print $2}') 17 [ "$curver" ] || { shift; continue; } 18 if [ -s $1/outdated ]; then 19 pname=$(tail -n1 $1/outdated) 20 else 21 case $pname in 22 python-*) pname=python:${pname#python-};; 23 esac 24 fi 25 newver=$(curl -s -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36" https://repology.org/badge/latest-versions/$pname.svg | grep middle | sed 's/.*middle">//;s/<.*//;s/,//' | tr ' ' '\n' | tail -n1) 26 if [ "$newver" = "-" ]; then 27 echo "$repo/${1##*/} 404 ($curver)" 28 elif [ "$curver" != "$newver" ]; then 29 echo "$repo/${1##*/} $newver ($curver)" 30 fi 31 shift 32 done