#! /bin/sh
#
# Written by Erik Troan (ewt@redhat.com) 1996
#            Jakub Jelinek (jj@sunsite.mff.cuni.cz) 1996
# (C) 1996 The Free Software Foundation.
#
#

mcrpmfs_list ()
{
#    rpm --queryformat "-r--r--r--   1 root     root     %{SIZE} Jan  1 01:00 HEADER\n" -p $1 
    DESC=`rpm -qip $1`
    DATE=`echo $DESC | sed 's/^.*Build Date: ... //;s/[0-9][0-9]:[0-9][0-9]:[0-9][0-9]//;s/Install date:.*$//'`
    SIZE=`echo $DESC | sed 's/^.*Size *: //;s/Description :.*$//'`
    HEADERSIZE=`echo $DESC | wc -c`
    echo "-r--r--r--   1 root     root  $HEADERSIZE $DATE HEADER"
    echo "-r-xr-xr-x   1 root     root    39 $DATE INSTALL"
    echo "-r-xr-xr-x   1 root     root    39 $DATE UPGRADE"
    echo "dr-xr-xr-x   3 root     root  $SIZE $DATE INFO"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/NAME"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/VERSION"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/RELEASE"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/GROUP"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/DISTRIBUTION"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/VENDOR"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/BUILD_HOST"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/SOURCE_RPM"
    echo "-r--r--r--   1 root     root     0 $DATE INFO/DESCRIPTION"
    rpm2cpio $1 | cpio --quiet -v --list
}

mcrpmfs_copyout ()
{
    case "$2" in
	HEADER) rpm -qip $1 > $3; exit 0;;
	INSTALL) echo "# Run this to install this RPM package" > $3; exit 0;;
	UPGRADE) echo "# Run this to upgrade this RPM package" > $3; exit 0;;
	INFO/NAME) echo `rpm -qip $1` | sed 's/^.*Name *: //;s/ *Distribution *:.*$//' > $3; exit 0;;
	INFO/VERSION) echo `rpm -qip $1` | sed 's/^.*Version *: //;s/ *Vendor *:.*$//' > $3; exit 0;;
	INFO/RELEASE) echo `rpm -qip $1` | sed 's/^.*Release *: //;s/ *Build Date *:.*$//' > $3; exit 0;;
	INFO/GROUP) echo `rpm -qip $1` | sed 's/^.*Group *: //;s/ *Source RPM *:.*$//' > $3; exit 0;;
	INFO/DISTRIBUTION) echo `rpm -qip $1` | sed 's/^.*Distribution *: //;s/ *Version *:.*$//' > $3; exit 0;;
	INFO/VENDOR) echo `rpm -qip $1` | sed 's/^.*Vendor *: //;s/ *Release *:.*$//' > $3; exit 0;;
	INFO/BUILD_HOST) echo `rpm -qip $1` | sed 's/^.*Build Host *: //;s/ *Group *:.*$//' > $3; exit 0;;
	INFO/SOURCE_RPM) echo `rpm -qip $1` | sed 's/^.*Source RPM *: //;s/ *Size *:.*$//' > $3; exit 0;;
	INFO/DESCRIPTION) echo `rpm -qip $1` | sed 's/^.*Description *: //' > $3; exit 0;;
	*)
	    TMPDIR=/tmp/mctmpdir.$$
	    mkdir $TMPDIR
	    cd $TMPDIR
	    rpm2cpio $1 | cpio -ivumd --quiet $2 >/dev/null
	    mv $2 $3
	    cd /
	    rm -rf $TMPDIR;;
    esac
}

mcrpmfs_run ()
{
    case "$2" in
	INSTALL) echo "Installing $1"; rpm -ivh $1; exit 0;;
	UPGRADE) echo "Upgrading $1"; rpm -iUvh $1; exit 0;;
    esac
}

case "$1" in
  list) mcrpmfs_list $2; exit 0;;
  copyout) mcrpmfs_copyout $2 $3 $4; exit 0;;
  run) mcrpmfs_run $2 $3; exit 1;;
esac
exit 1
