#!/bin/bash

RELEASE_BUILDDIR=${RELEASE_BUILDDIR:-/var/tmp/portage-release}
SOURCE_DIR=${RELEASE_BUILDDIR}/checkout
BRANCH=${BRANCH:-master}
USE_TAG=false
CHANGELOG_REVISION=
UPLOAD_LOCATION=

die() {
	echo $@
	echo "Usage: ${0##*/} [--changelog-rev <tree-ish>] [-t|--tag] [-u|--upload <location>] <version>"
	exit 1
}

ARGS=$(getopt -o tu: --long changelog-rev:,tag,upload: \
	-n ${0##*/} -- "$@")
[ $? != 0 ] && die "initialization error"

eval set -- "${ARGS}"

while true; do
	case "$1" in
		--changelog-rev)
			CHANGELOG_REVISION=$2
			shift 2
			;;
		-t|--tag)
			USE_TAG=true
			shift
			;;
		-u|--upload)
			UPLOAD_LOCATION=${2}
			shift 2
			;;
		--)
			shift
			break
			;;
		*)
			die "unknown option: $1"
			;;
	esac
done

[ -z "$1" ] && die "Need version argument"
[ -n "${1/[0-9]*}" ] && die "Invalid version argument"

VERSION=${1}
RELEASE=portage-${VERSION}
RELEASE_DIR=${RELEASE_BUILDDIR}/${RELEASE}
RELEASE_TARBALL="${RELEASE_BUILDDIR}/${RELEASE}.tar.bz2"
TREE_ISH=$BRANCH
if [[ $USE_TAG = true ]] ; then
	TREE_ISH=v$VERSION
fi

echo ">>> Cleaning working directories ${RELEASE_DIR} ${SOURCE_DIR}"
rm -rf "${RELEASE_DIR}" "${SOURCE_DIR}" || die "directory cleanup failed"
mkdir -p "${RELEASE_DIR}" || die "directory creation failed"
mkdir -p "$SOURCE_DIR" || die "mkdir failed"

echo ">>> Starting GIT archive"
git archive --format=tar $TREE_ISH | \
	tar -xf - -C "$SOURCE_DIR" || die "git archive failed"

echo ">>> Building release tree"
cp -a "${SOURCE_DIR}/"{bin,cnf,doc,man,pym} "${RELEASE_DIR}/" || die "directory copy failed"
cp "${SOURCE_DIR}/"{DEVELOPING,LICENSE,NEWS,RELEASE-NOTES,TEST-NOTES} \
	"${RELEASE_DIR}/" || die "file copy failed"

rm -rf "$SOURCE_DIR" || die "directory cleanup failed"

echo ">>> Creating Changelog"
git_log_opts=""
[ -n "$CHANGELOG_REVISION" ] && git_log_opts+=" $CHANGELOG_REVISION^.."
skip_next=false
git log $git_log_opts | fmt -w 80 -p "    " | while read ; do
	if [[ $skip_next = true ]] ; then
		skip_next=false
	elif [[ $REPLY = "    svn path="* ]] ; then
		skip_next=true
	else
		echo "$REPLY"
	fi
done > "$RELEASE_DIR/ChangeLog" || die "ChangeLog creation failed"

cd "${RELEASE_BUILDDIR}"

echo ">>> Creating release tarball ${RELEASE_TARBALL}"
tar --owner portage --group portage -cjf "${RELEASE_TARBALL}" "${RELEASE}" || \
	die "tarball creation failed"

DISTDIR=$(portageq distdir)
if [ -n "${DISTDIR}" -a -d "${DISTDIR}" -a -w "${DISTDIR}" ]; then
	echo ">>> Copying release tarball into ${DISTDIR}"
	cp "${RELEASE_TARBALL}" "${DISTDIR}"/ || echo "!!! tarball copy failed"
fi

if [ -n "${UPLOAD_LOCATION}" ]; then
	echo ">>> Uploading ${RELEASE_TARBALL} to ${UPLOAD_LOCATION}"
	scp "${RELEASE_TARBALL}" "dev.gentoo.org:${UPLOAD_LOCATION}" || die "upload failed"
else
	echo "${RELEASE_TARBALL} created"
fi

exit 0
