#!/bin/sh

set -u

vendor_id="${VENDOR_RPM_VENDOR_ID:-osstech}"
vendor_rpmbuild_cmd="${VENDOR_RPM_VENDOR_RPMBUILD_COMMAND-/opt/osstech/bin/$vendor_id-rpmbuild}"

topdir=$(pwd)
builddir="$topdir/BUILD/$(hostname |sed 's/\..*//')"
buildrootdir="$builddir"
buildroot="$builddir/root"
tmppath="$builddir/tmp"

packager="$(id -un) $topdir"
if type git > /dev/null 2>&1; then
  packager="$packager $(git rev-parse --abbrev-ref HEAD) $(git rev-parse HEAD)"
  git_toplevel=$(git rev-parse --show-toplevel)
  git_status=$(
    git status --porcelain -- */ \
    |while IFS= read -r line; do
      path="${line#?? }"
      case "$path" in
      */SOURCES/*)
	[ -L "$git_toplevel/$path" ] && continue
	;;
      */SPECS/*)
	;;
      *)
	continue
	;;
      esac
      echo "$line"
    done
  )
  if [ -n "$git_status" ]; then
    ## Work In Progress
    packager="$packager WIP"
  fi
fi

HOME="$builddir"
export HOME

mkdir -p "$tmppath" || exit 1

exec "$vendor_rpmbuild_cmd" \
  --noclean \
  --define "_topdir $topdir" \
  --define "_builddir $builddir" \
  --define "_buildrootdir $buildrootdir" \
  --define "buildroot $buildroot" \
  --define "_tmppath $tmppath" \
  --define "packager $packager" \
  "$@" \
;
