#!/bin/bash

#
# Commit tag and Version number should be provided as input in the command line
#
#

if [ $# -ne 2 ];
then
	echo 'create-rpm <commit-hash> <version>'
	exit 1
fi

command -v ronn &>/dev/null || { echo >&2 "ronn needs to be installed."; exit 1; }
command -v rpmbuild &>/dev/null || { echo >&2 "rpmbuild needs to be installed."; exit 1; }

set -e 

base_folder=`readlink -m $(dirname $0)`

pushd ${base_folder} >/dev/null

rpm_build_area=${base_folder}/rpm_build_area
rm -rf ${rpm_build_area:=/non-existent-dir}
mkdir -p ${rpm_build_area}/{SOURCES,SPECS,BUILD,RPMS,SRPMS,BUILDROOT}

echo RPM build area is in ${rpm_build_area}

COMMIT_HASH=$1
SHORT_HASH=${COMMIT_HASH:0:7}
VERSION=$2
REAL_PACKAGE_NAME=q
RPM_PACKAGE_NAME=q-text-as-data

FULL_NAME_FOLDER=${RPM_PACKAGE_NAME}-${VERSION}

if [ ! -e ${RPM_PACKAGE_NAME}.spec.template ];
then
	echo "spec template does not exist. can't continue"
	exit 1
fi

rm -vf ${rpm_build_area}/SOURCES/q-${COMMIT_HASH}.tar.gz

curl -o ${rpm_build_area}/SOURCES/q-${COMMIT_HASH}.tar.gz -L -R "https://github.com/harelba/q/tarball/${COMMIT_HASH}"

cat ${RPM_PACKAGE_NAME}.spec.template | sed "s/VERSION_PLACEHOLDER/$VERSION/g" | sed "s/COMMIT_HASH_PLACEHOLDER/${COMMIT_HASH}/g" | sed "s/SHORT_HASH_PLACEHOLDER/${SHORT_HASH}/g" > ${rpm_build_area}/SPECS/${RPM_PACKAGE_NAME}.spec

rpmbuild -v --define "_topdir ${rpm_build_area}" -ba ${rpm_build_area}/SPECS/${RPM_PACKAGE_NAME}.spec

popd >/dev/null
