#!/bin/sh

export LANG=C
export LANGUAGE=C

PROG=`basename $0`

show_help()
{
#  -q, --quiet                       try to be more quiet;
#  -v, --verbose                     print a message for each action;
	cat <<EOF
$PROG - script to build, test and integrate (with -c) the set of packages. Current path must be valid autorepo directory.

Usage: $PROG [options] pkg

Options:
  -d,--drop        drop package at first unsuccessful build
  -n, --number N   set hasher number (for parallel builds)
  -h, --help       show this text and exit.
EOF
}
usage()
{
    show_help
    exit 1
}

hashernumber=
rapid_drop_mode=

. autorepo-config

TEMP=`getopt -n $PROG -o dhn -l drop,help,number: -- "$@"` || usage
eval set -- "$TEMP"

while :; do
	case "$1" in
		-d|--drop) rapid_drop_mode=1
			;;
		-h|--help) show_help; exit
			;;
		-n|--number) hashernumber=$2; shift;
			;;
		--) shift; break
			;;
		*) echo "Error parsing arguments. see --help" ; exit 1
			;;
	esac
	shift
done

pkg=$1
case "$pkg" in
    *.tar)
	pkgfilename=`basename "$pkg"`
	name=`echo "$pkgfilename" | perl -npe 's,-[^-]*-[^-]*$,,'` 
	autorepo-helper-build-srpms ${hashernumber:+--number $hashernumber} ${rapid_drop_mode:+--drop} "$pkg"
	;;
    *.src.rpm)
	name=`rpmquery --queryformat '%{NAME}\n' -p $pkg`
	autorepo-helper-build-srpms ${hashernumber:+--number $hashernumber} ${rapid_drop_mode:+--drop} "$pkg"
	;;
    *.transaction)
	pkgfilename=`basename "$pkg"`
	name=`echo "$pkgfilename" | perl -npe 's,\.transaction$,,'` 
	autorepo-helper-build-srpms ${hashernumber:+--number $hashernumber} ${rapid_drop_mode:+--drop} "$pkg"/*/*
	;;
esac

if [ -z "$name" ]; then
    echo
    echo "============================================================="
    echo "FAILED: name recognization for $pkg"
    echo "============================================================="
    exit 1
fi

autorepo-helper-move-build ${hashernumber:+--number $hashernumber} "$name"

exit 0
