#!/bin/sh
if [ $# -gt 0 ]; then
    razor="$1"
else
    razor=../src/razor
fi
check_file()
{
    $razor list-files | grep -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 -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 -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 -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 "$RAZOR_ROOT$1" ]; then 
	echo $1: Not in filesystem >&2
	exit 1
    fi
}
tmpdir=`mktemp -dt` || exit 1
export RAZOR_ROOT="$tmpdir/x-"
mkdir -p "$tmpdir/x-/var/lib" "$tmpdir/x-c:"
export RAZOR_NO_ROOT_NAME_CHECKS=1
$razor init || exit 1
export YUM_URL="file://localhost/`pwd`"
$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"
