#!/bin/bash

set -efu

_rpmspec(){
	rpmspec --define "_sourcedir $PWD" "$@"
}

_main(){
	for i in "$@"; do
		[[ "$i" == *.spec ]] && spec="$i" && break
		spec=""
	done
	if [ ! -f "$spec" ]; then
		printf $"Spec file ${spec} not found!\n"
		return 1
	fi
	name="$(_rpmspec -q --srpm --qf '%{name}' "$spec")"
	epoch="$(_rpmspec -q --srpm --qf '%{epoch}' "$spec" | sed -e 's,(none),0,')"
	version="$(_rpmspec -q --srpm --qf '%{version}' "$spec")"
	release="$(_rpmspec -q --srpm --qf '%{release}' "$spec")"
	requires="$(_rpmspec -q --buildrequires "$@" | sed -e 's,^,Requires: ,')"
	tmp="$(mktemp)"
	trap 'rm -f "$tmp"' ERR EXIT
	echo "
# move RPM to current directory instead of rpmlint
%global _build_pkgcheck_set ${0} rmv ${PWD}
Name: ${name}-build-deps
Summary: Build dependencies of ${name}
Group: Development/Other
License: Public Domain
Epoch: ${epoch}
Version: ${version}
Release: ${release}
${requires}
Recommends: basesystem-build
%description
Dummy package depending from build dependencies of ${name}
%files
" 	> "$tmp"
	rpmbuild -bb "$tmp"
}

case "$1" in
	"rmv" )
		# no quotes here!
		mv -v "${3}" "${2}"
	;;
	* )
		_main "$@"
	;;
esac
