#!/bin/sh
# Create a standalone rpm from a standalone tarball.
# 
# This can build a rpm for any architecture you have a standalone tarball
# for, and does not need to be run on a machine of the same architecture.
set -e
rpmarch="$1"
tarball="$2"
version="$(echo "$3" | sed 's/-.*//')"
release=1
rpmrepo="$4"
if [ -z "$rpmarch" ] || [ -z "$tarball" ] || [ -z "$version" ] || [ -z "$rpmrepo" ]; then
	echo "usage: rpmbuild-from-standalone-tarball rpmarch file.tar.gz version rpmrepo"
fi

basedir="$(dirname "$0")"

tmpdir=$(mktemp -d)
trap cleanup exit
cleanup () {
	rm -rf "$tmpdir"
}

cat "$tarball" | (cd "$tmpdir" && tar zx)
buildroot="$tmpdir/rpmbuild"
mkdir -p "$buildroot"

rpmbuild \
	--buildroot="$buildroot" \
	--define="_rpmdir `pwd`" \
	--define="_rpmfilename git-annex-standalone.rpm" \
	--define="version $version" \
	--define="release $release" \
	--target="$rpmarch" \
	-bb "$basedir/git-annex-standalone.spec" \
	--quiet
package="git-annex-standalone-$version-$release.$rpmarch.rpm"
mv git-annex-standalone.rpm "$rpmrepo/$package"
