#!/bin/bash
#
# bog@deol.ru 20011207
# bog@company.ru 20070220
#
if [ -z $1 ]
then
  DBPATH=/var/lib/rpm
else
  DBPATH=$1
fi
rpm --dbpath $DBPATH -qa --queryformat '[%{=NAME}-%{=VERSION}-%{=RELEASE} %{provides}\n]'| awk '{print $1, $2}' |(while read name resource; do LANG= rpm --dbpath $DBPATH -q  --whatrequires $resource --queryformat "package %{NAME}-%{VERSION}-%{RELEASE} requires $resource from $name\n"; done) | grep -v '^no package' | awk '{if($2 != $6)print}'
rpm --dbpath $DBPATH -qa --queryformat '[%{=NAME}-%{=VERSION}-%{=RELEASE} %{requirename}\n]'|awk '{if(substr($2,1,1) == "/")print}'|(while read package file; do rpm --dbpath $DBPATH -qf  --queryformat "package $package requires $file from %{NAME}-%{VERSION}-%{RELEASE}\n" $file; done)

