#!/usr/bin/bash

TEMPLATEDIR=/usr/share/create-fake-rpm/
VERSION=0
RELEASE=0
TARGET="-bs"
PRINT_RESULT=0

# parse command line options
for i in "$@"; do
  case $i in
    --help)
    OPTS_HELP=YES
    shift # past argument
    ;;
    --version=*)
    VERSION="${i#*=}"
    shift # past argument
    ;;
    --release=*)
    RELEASE="${i#*=}"
    shift # past argument
    ;;
    --build)
    TARGET="-ba"
    shift # past argument
    ;;
    --print-result)
    PRINT_RESULT=1
    shift
    ;;
    *)
          # unknown option
    ;;
  esac
done

if [ -n "$OPTS_HELP" ]; then
  man create-fake-rpm | cat
  exit 0;
fi

NAME=$1
PROVIDES=$2

if [ -z "$NAME" -o -z "$PROVIDES" ]; then
  echo "Error: You have to specify PACKAGE_NAME and PROVIDES."
  exit 1
fi

OUTPUT=$( rpmbuild --define="fake_name $NAME" --define="fake_provides $PROVIDES" \
        --define="fake_version $VERSION" --define="fake_release $RELEASE" \
        --define "_sourcedir $PWD" \
        --define "_rpmdir $PWD" \
        --define "_specdir $PWD" \
        --define "_builddir $PWD" \
        --define "_srcrpmdir $PWD" \
        "$TARGET" "$TEMPLATEDIR/template.spec" 2>/dev/null \
)

if [ "$PRINT_RESULT" -eq 1 ]; then
    echo "$OUTPUT" | grep noarch.rpm
else
    echo "$OUTPUT"
fi
