$ ./query.sh "http://australia.proximity.on.ca/fedora-arm/f15v5.0/repo" "pth" pth-2.0.7-10.src.rpm pth-2.0.7-13.fc15.src.rpm *:pth-2.0.7-13.fc15.src.rpm
#!/bin/bash prim=`curl -s "${1}/repodata/repomd.xml" | tr -d '\t\r\n' | gawk '{ gsub(/<data type=/, "\n<data type="); print; }' | grep -i '<data type="primary">' | sed -e 's@.*<location href="\([^"]*\)"/>.*@\1@g'` curl -s "${1}/${prim}" > /tmp/repo.data.gz rm -f /tmp/repo.data 2> /dev/null gunzip /tmp/repo.data.gz if [ "${3}" == "f" ] then rm -f /tmp/repo.line 2> /dev/null fi if [ ! -f /tmp/repo.line ] then cat /tmp/repo.data | tr -d '\t\r\n' | gawk '{ gsub(/<package type=/, "\n<data type="); print; }' > /tmp/repo.line fi safe=`echo "${2}" | sed -e 's/[^0-9A-Za-z]/./g'` pkgs=`cat /tmp/repo.line | grep -i "<name>${safe}</name>" | sed -e 's@.*<rpm:sourcerpm>\([^<]*\)</rpm:sourcerpm>.*@\1@g'` if [ "${pkgs}" == "" ] then echo "x:${2}" exit 1 fi echo "${pkgs}" x=2 leng=`echo "${pkgs}" | wc -l` high=`echo "${pkgs}" | tr '\n' ' ' | awk '{ print $1 }'` while [ $x -le $leng ] do comp=`echo "${pkgs}" | tr '\n' ' ' | awk '{ print $'$x' }'` rpmdev-vercmp "$high" "$comp" > /dev/null 2>&1 if [ $? -eq 12 ] then high="$comp" fi let x="$x + 1" done echo "*:${high}"