#!/bin/sh
# Copyright (c) 2001 Graham Williams, Kayon Toga, Joe Wreschnig
# Feta plugin for querying Debian servers.
# Licensed under the GNU GPL.

OPTS=`getopt -n configure -o V,q,t,y -- $@`
if [ $? != 0 ] ; then exit 1; fi
eval set -- "$OPTS"
QUIET=0

while true ; do
 case "$1" in
  -q) QUIET=1; shift;;
  -y|-t|-V) shift;;
  --) shift; break;;
 esac
done

apt-cache dumpavail |
egrep '^(Package|Version):' |
awk '
   /^Package: / {pkg=$2}
   /^Version: / {print pkg,$2}
' | sort > /tmp/feta.avail.$USER

cat /var/lib/dpkg/status |
egrep '^(Package|Status|Version):' |
awk '
   /^Package: / {pkg=$2}
   /^Status: / {s1=$2;s2=$3;s3=$4}
   /^Version: / {print pkg,$2,s1,s2,s3}
' | grep " install ok installed" |
    awk '{print $1,$2}' | sort > /tmp/feta.install.$USER


if [ $QUIET -eq 0 ]; then
 echo "Package                 Available               Installed"
 echo "================================================================================"
fi

join -a 1 -a 2 /tmp/feta.avail.$USER /tmp/feta.install.$USER |
awk 'NF==3 && $2 != $3 \
{ if (system("dpkg --compare-versions "$2" gt "$3)==0)
   printf("%-20s\t%-20s\t%-20s\n", $1, $2, $3)
}'

rm -f /tmp/feta.install.$USER /tmp/feta.avail.$USER
