#!/bin/sh -efu

bad_deps='fileutils
sh-utils
textutils
XFree86-.*
initscripts
/etc/rc\.d/init\.d\((daemon|killproc|pidof)\)
/etc/init\.d\(.*\)
pam_stack\.so'

# check for unacceptable dependencies
check_deps()
{
	local f="$1" && shift || return 1
	local rc=0
	local bad

	local rpm_deps
	rpm_deps=$(printf '%s\n%s\n%s\n%s\n' "$rpm_requires" "$rpm_provides" "$rpm_obsoletes" "$rpm_conflicts")

	if bad=$(printf %s "$rpm_deps" |grep '[$%]'); then
		FileError "invalid dependencies: $(printf %s "$bad" |tr -s '[:space:]' ' ')" "$f"
		rc=1
	fi

	if bad=$(printf %s "$rpm_requires" |cut -d' ' -f1 |egrep -x "$bad_deps"); then
		FileError "forbidden requires: $(printf %s "$bad" |tr -s '[:space:]' ' ')" "$f"
		rc=1
	fi

	return $rc
}

run_check() {
	if ! check_deps "$1"; then
		CheckError 'package dependencies violation'
		return 1
	fi
}
