#!/bin/sh -e

trap '' PIPE

: ${RPM:=/bin/rpm}
: ${RPMARG:=}
: ${TARGET:=i586}

Quote()
{
	echo "$@" |sed -e 's/[\&;()<>!|{}$?*`"'\''[:space:]]/\\&/g' || return 1
}

packager="$(eval "$(Quote "$RPM")" $RPMARG --eval %packager)"
if [ "$packager" = '%packager' ]; then
	echo 'Configuration error: undefined packager' >&2
	exit 1
fi

f="$1"
shift

p="$(eval "$(Quote "$RPM")" $RPMARG -qp --qf '%{PACKAGER}' "$f")"
[ "$p" != '(none)' ] || p=
if [ -z "$p" ]; then
	echo "$f: undefined packager, using $packager" >&2
else
	p="--define $(Quote "packager $p")"
fi

eval exec nohup nice time "$(Quote "$RPM")" $RPMARG $p --rebuild --target "$(Quote "$TARGET")" "$(Quote "$f")" "$@"
