#!/bin/bash
set -x

while test $# -gt 0 ;do 
  case $1 in
  *-package)
    PACKAGE="$2"
    shift;;
  *-file)
    FILE="$2"
    shift;;
  *-git)
    GIT="$2"
    shift;;
  *-outdir)
    OUTDIR="$2"
    shift;;
  *)
  echo "Unknown parameter $1"
  echo "Usage: fedpkg --git $GIT --file packages.conf --package foo"
  exit 1
  ;;
  esac
  shift
done
HELPER_DIR="/usr/lib/obs/services/fedpkg/helper"
gitbase="https://src.fedoraproject.org/git/rpms/"
test -z $FILE && FILE=packages.conf
TEMPCLONE=$(mktemp -d /tmp/fedpkg.XXXX)
git clone $GIT $TEMPCLONE
pushd $TEMPCLONE
egrep "${PACKAGE}" $FILE | while read -r pkg;
do
        REPONAME="${pkg%:*}"
        revhash="${pkg#*:}"
        REVISION="${revhash%#*}"
        CUSTOM_HASH="${revhash#*#}"

        echo "REPONAME:$REPONAME"
        echo "REVISION:$REVISION"
        echo "CUSTOM_HASH:$CUSTOM_HASH"
        git clone ${gitbase}${REPONAME}.git $REPONAME
        pushd $REPONAME
        git reset --hard ${CUSTOM_HASH}
	# Apply GDC patches, if any. They should be ideally upstreamed
	# into Fedora
	SPEC_PATCH="../patches/${REPONAME}.patch"
	[ -f "${SPEC_PATCH}" ] && patch -p1 -i "${SPEC_PATCH}"

	source_patch_num=0
	while read source_patch; do
		[ "${source_patch}" = '--eof' ] && break
		cp -v -t . "${source_patch}"
		let source_patch_num=source_patch_num+1
	done < <(find ../patches -name "${REPONAME}-*.patch")
	echo "${source_patch_num} source patches included"
        fedpkg
        rm sources
        cp * $OUTDIR
	popd
done 
popd
rm -rf $TEMPCLONE        
#echo $PACKGE $FILE $GIT $OUTDIR > $OUTDIR/service_run_real
