#!/bin/sh
#
usage() {
  echo "Usage: undeb -c package.deb            <Print control file info>"
  echo "       undeb -l package.deb            <List contents of deb package>"
  echo "       undeb -x package.deb /foo/boo   <Extract deb package to this directory,"
  echo "                                        put \`.' for current directory>"  
  exit
}

deb="$2"
 
exist() {
if [ "$deb" = "" ]; then
  usage
elif [ ! -f "$deb" ]; then
  echo "Can't find \`$deb'!"
  exit
fi
}

if [ "$1" = "" ]; then
  usage
elif [ "$1" = "-l" ]; then
  exist
  (dpkg-deb -I $deb ; echo "" ; dpkg-deb -c $deb) | less
  exit
elif [ "$1" = "-c" ]; then
  exist
  dpkg-deb -I $deb 
  exit
elif [ "$1" = "-x" ]; then
  exist
if [ "$3" = "" ]; then
  usage
elif [ ! -d "$3" ]; then
  echo "No such directory \`$3'!"
  exit
fi
  dpkg-deb -X $deb $3 || exit 
  echo
  echo "Extracted \`$deb' => \`$3'!"
  exit
else
  usage
fi
