#!/bin/bash
# search for invalid requires.
#
export INVALID_FILE_FOUND=false
TOPDIR=/usr/src/packages
test -d $BUILD_ROOT/.build.packages && TOPDIR=/.build.packages

RPM="chroot $BUILD_ROOT rpm --nodigest --nosignature"

FORBIDDEN_REQ=`find $BUILD_ROOT$TOPDIR/RPMS -name "*.rpm" | \
    LC_ALL=C sort | \
    xargs --no-run-if-empty rpm -qp --requires| \
    grep -E "/usr/local/|/usr/share/bin"`

for LINE in $FORBIDDEN_REQ; do
        case "$LINE" in
          /usr/local/httpd/cgi-bin*)
            ;;
          *)
            echo \""$LINE"\" is not allowed as Requires.
            INVALID_FILE_FOUND=true
          ;;
        esac
done

for pack in $(find $BUILD_ROOT$TOPDIR/RPMS -type f -name "*.rpm" | LC_ALL=C sort) ; do
	case $pack in
		*-debuginfo-*|*-debugsource-*)
			N=`rpm -qp --qf "%{NAME}" $pack`
			echo "dependency check for "`basename $pack`":"
			for i in $($RPM -qp --qf "[%{REQUIRENAME}\n]" ${pack##$BUILD_ROOT}) ; do
			    case $i in
				rpmlib*|*-debuginfo|*-debugsource) ;;
				*) chroot $BUILD_ROOT rpm -q --whatprovides $i || INVALID_FILE_FOUND=true
				   ;;
			    esac
			done
			;;
		*) ;;
	esac
done
test $INVALID_FILE_FOUND = true && exit 1

exit 0
