#!/bin/sh

set -e

if [ "$#" != 1 ]
then
	echo "Usage: $0 version" >&2
	exit 1
fi

case "$1"
in
	[0-9].[0-9].[0-9])
		;;
	*)
		echo "Version should be x.y.z" >&2
		exit 1
		;;
esac

version_underscores="`echo "$1" | sed 's,\.,_,g'`"
version_dots="$1"

set -x

cd /tmp
rm -rf -- "videotrans-${version_dots}"
cvs -z9 -d :ext:svenberkvens@videotrans.cvs.sourceforge.net:/cvsroot/videotrans export -d "videotrans-${version_dots}" -r "RELEASE_${version_underscores}" videotrans

cd "/tmp/videotrans-${version_dots}"
make -f Makefile.in prep_for_release
./configure
make
make distclean

cd /tmp
tar -zcvf "videotrans-${version_dots}.tar.gz" "videotrans-${version_dots}"
tar -jcvf "videotrans-${version_dots}.tar.bz2" "videotrans-${version_dots}"

{
	accu=""
	IFS="" read -r line
	while :
	do
		if [ "${line}" = "" ]
		then
			if [ "${accu}" != "" ]
			then
				if [ "${prefix}" = "- " ]
				then
					echo -n "${accu}" | fmt -w 57 | while read -r l
					do
						echo -n "${prefix}${l}"
						echo
						prefix="  "
					done
					echo
				elif [ "${prefix}" = "* " ]
				then
					echo -n "${accu}" | fmt -w 57 | while read -r l
					do
						echo -n "${prefix}${l}"
						echo
						prefix="  "
					done >&3
					echo >&3
				else
					echo "Illegal prefix?" >&2
					exit 1
				fi
			fi
			accu=""
		elif [ "${line#- }" != "${line}" ]
		then
			prefix="- "
			accu="${line#- }"
		elif [ "${line#[*] }" != "${line}" ]
		then
			prefix="* "
			accu="${line#[*] }"
		elif [ "${line#  }" != "${line}" ]
		then
			accu="${accu} ${line#  }"
		elif [ "${line#CHANGES}" != "${line}" ]
		then
			echo "${line}"
		elif [ "${line#===}" != "${line}" ]
		then
			echo "${line}"
			echo
		else
			echo "DON'T UNDERSTAND LINE <${line}>" >&2
			exit 1
		fi

		echo "${line}" >&4
		IFS="" read -r line
		if [ "${line#CHANGES}" != "${line}" ]
		then
			break
		fi
	done
} < "videotrans-${version_dots}/CHANGES" \
	> changes-${version_dots}.txt \
	3> notes-${version_dots}.txt \
	4> README

while :
do
	echo -n "Okay to upload to sourceforge? (y/n)"
	read -r response < /dev/tty
	if [ "${response}" = "y" ]
	then
		{
			echo "cd /home/frs/project/v/vi/videotrans/videotrans"
			echo "-mkdir ${version_dots}"
			echo "cd ${version_dots}"
			echo "put videotrans-${version_dots}.tar.gz"
			echo "put videotrans-${version_dots}.tar.bz2"
			echo "put README"
		} | sftp -b - "svenberkvens,videotrans@web.sourceforge.net"
		break
	elif [ "${response}" = "n" ]
	then
		break
	fi
done

exit 0

# vim:ts=2:sw=2
