#!/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 [ ! -s "$deb" ]; then
echo "Can't find $deb!"
exit
fi
}

if [ "$1" = "" ]; then
usage
elif [ "$1" = "-l" ]; then
exist
type more >/dev/null 2>&1 && pager=more
type less >/dev/null 2>&1 && pager=less
trap "" 13
(ar -p $deb control.tar.gz | gunzip -c | tar -x -O control ; echo -e "\nPress enter to scroll, q to Quit!\n" ; ar -p $deb data.tar.gz | gunzip -c | tar -t -v 2>/dev/null) | $pager 
exit
elif [ "$1" = "-c" ]; then
exist
ar -p $deb control.tar.gz | gunzip -c | tar -x -O control  
exit
elif [ "$1" = "-x" ]; then
exist
if [ "$3" = "" ]; then
usage
elif [ ! -d "$3" ]; then
echo "No such directory $3!"
exit
fi
ar -p $deb data.tar.gz | gunzip | (cd $3 ; tar -x -v -f -) || exit 
echo
echo "Extracted $deb to $3!"
exit
else
usage
fi
