#!/bin/sh

PROG=`basename $0`

show_help()
{
#  -q, --quiet                       try to be more quiet;
#  -v, --verbose                     print a message for each action;
	cat <<EOF
$PROG - move build to TASK.{GOOD,BAD,UGLY}
Usage: $PROG [options] <build id>
Options:
  -n, --number N   set hasher number (for parallel builds)
  -h, --help       show this text and exit.
EOF
}
usage()
{
    show_help
    exit 1
}

hashernumber=

. autorepo-config

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

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

build_id="$1"
[ -n "$build_id" ] || exit 1

. autorepo-build-sh-functions

# set exit_status, branch, logdir
autorepo_build_init

mkdir -p $GOOD $BAD $UGLY

if ! [ -e "$logdir"/build.success ]; then
    rm -rf $BAD/"$build_id"
    mv "$logdir" $BAD/"$build_id"
    echo "$build_id is moved to $BAD"
    exit
fi

for arch in $GB_ARCH; do
    mkdir -p "$logdir"/SRPMS.hasher
    set_hasher_dir "$arch"
    repo="$current_hasherdir"/repo
    mv -f $repo/SRPMS.hasher/* "$logdir"/SRPMS.hasher
    rmdir $repo/SRPMS.hasher ||:
    mv $repo/$arch "$logdir"
    rmdir $repo ||:
done

if [ -e "$logdir"/unmets.success ] && [ -e "$logdir"/install.success ]; then
    rm -rf $GOOD/"$build_id"
    mv "$logdir" $GOOD/"$build_id"
    echo "$build_id is moved to $GOOD"
else
    rm -rf $UGLY/"$build_id"
    mv "$logdir" $UGLY/"$build_id"
    echo "$build_id is moved to $UGLY"
fi
