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

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

if [ "$1" = "" ]; then
  usage
elif [ "$1" = "-l" ]; then
  exist
  rpm2cpio $rpm | cpio -tv --quiet | less 
  exit
elif [ "$1" = "-x" ]; then
  exist
if [ "$3" = "" ]; then
  usage
elif [ ! -d "$3" ]; then
  echo "No such directory \`$3'!"
  exit
fi
  rpm2cpio $rpm | (umask 0 ; cd $3 ; cpio -idmuv --quiet) || exit 
  echo
  echo "Extracted \`$rpm' => \`$3'!"
  exit
else
  usage
fi
