#!/bin/sh
if [ $# -gt 0 ]; then
    razor="$1"
else
    razor=../src/razor
fi
check_file()
{
    $razor list-files | grep -F -x "$1" > /dev/null
    if [ $? -ne 0 ]; then
	echo $1: Not in database >&2
	$razor list-files >&2
	exit 1
    fi
    $razor list-files c: | grep -F -x "$1" > /dev/null
    if [ $? -ne 0 ]; then
	echo $1: Not seen by named root list >&2
	$razor list-files c: >&2
	exit 1
    fi
    $razor list-files "$1" | grep -F -x "$1" > /dev/null
    if [ $? -ne 0 ]; then
	echo $1: Not seen by patterned list >&2
	$razor list-files "$1" >&2
	exit 1
    fi
    pkgs=`$razor list-file-packages "$1"`
    if [ -z "$pkgs" ]; then
	echo $1: Not owned by any package >&2
	$razor list-file-packages "$1"
	exit 1
    fi
    for nevra in "$pkgs"; do
	name=`echo $nevra | sed 's/\-.*$//'`
	$razor list-package-files "$name" | grep -F -x "$1" > /dev/null
	if [ $? -ne 0 ]; then
	    echo $1: Not in database for package $name >&2
	    $razor list-package-files "$name"
	    exit 1
	fi
    done
    if [ ! -e "$tmpdir/$1" ]; then 
	echo $1: Not in filesystem >&2
	exit 1
    fi
}
tmpdir=`mktemp -dt` || exit 1
export RAZOR_ROOT="file:$tmpdir"
export RAZOR_NO_ROOT_NAME_CHECKS=1
$razor init || exit 1
export YUM_URL="file:`pwd`/base"
$razor import-yum || exit 1
$razor install --relocate /usr=c:/test zap || exit 1
$razor install --relocate /usr=c:/test zip || exit 1
check_file c:/test/bin/zap
check_file c:/test/bin/zip
rm -rf "$tmpdir"
