#!/bin/sh
# 2003-2006, 2009 (c) Etersoft www.etersoft.ru
# Author: Vitaly Lipatov <lav@etersoft.ru>
# Public domain
#
# �������, � ������ ������ ��������� ��������� ����, ��������� ����� which
# ���������:
# - �������� ����
# TODO not -i only, we need any key

if [ "$1" = "-h" ]; then
	echo "rpmqf - the same as rpm -qf"
	exit 0
fi

if [ "$1" = "-i" ]; then
	ARG=$1
	shift
fi

# use and modify TOFILE recursively
real_file()
{
	local LINKTO1 LINKTO
	local TOFILE
	
	# get canonical path
	if [ -e "$1" ] ; then
		TOFILE=$1
	else
		TOFILE=`which $1 2>/dev/null || echo $1`
		if [ "$TOFILE" != "$1" ] ; then
		echo "Note: $1 is placed as $TOFILE"
		fi
	fi
	
	# get value of symbolic link
	if [ -L "$TOFILE" ] ; then
		LINKTO=`readlink "$TOFILE"`
		echo "Note: $TOFILE is link to $LINKTO"
		real_file "$LINKTO"
	fi
	FULLFILEPATH=`readlink -f $TOFILE`
}

real_file "$1"

rpm -qf $ARG "$FULLFILEPATH"