#!/bin/sh

[ "$1" ] || {
	echo "script to check outdated package from repology"
	echo " usage: $0 <port path> <port path> ..."
	echo
	exit 1
}

while [ "$1" ]; do
	unset curver port
	[ -f $1/abuild ] && port=$(realpath $1)
	[ "$port" ] || { shift; continue; }
	repo=${port%/*}; repo=${repo##*/}
	pname=${1##*/}
	curver=$(grep ^version= $port/abuild | awk -F = '{print $2}')
	[ "$curver" ] || { shift; continue; }
	if [ -s $1/outdated ]; then
		pname=$(tail -n1 $1/outdated)
	else
		case $pname in
			python-*) pname=python:${pname#python-};;
		esac
	fi
	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)
	if [ "$newver" = "-" ]; then
		echo "$repo/${1##*/} 404 ($curver)"
	elif [ "$curver" != "$newver" ]; then
		echo "$repo/${1##*/} $newver ($curver)"
	fi
	shift
done
