#!/bin/bash

if [ $# -lt 1 ]; then
  echo "Version has to be specified"
  exit 1
fi

V_TXT="$1"

cd "$(dirname "$0")"

V_DATE_MDY="$(date '+%m/%d/%Y')"
V_DATE_YMD="$(date '+%Y-%m-%d')"
V_DATE_RFC="$(date -R)"

V_USER_NAME="$(git config user.name)"
V_USER_EMAIL="$(git config user.email)"

#sed --in-place \
#  -e 's#^\([\t ]*\)versionText = "Version [^"]*\\n";.*$#\1versionText = "Version '"$V_TXT"'\\n";#' \
#  qtmips_gui/aboutdialog.cpp

if grep -q "qtmips ($V_TXT)" debian/changelog; then
  sed --in-place \
    -e '1,/^ -- .*$/s/^ -- .*$/'" -- $V_USER_NAME <$V_USER_EMAIL>  $V_DATE_RFC/" \
    debian/changelog
else
  cat >debian/changelog.tmp <<EOF
qtmips ($V_TXT) unstable; urgency=medium

  * Debian package updated to version $V_TXT.

 -- $V_USER_NAME <$V_USER_EMAIL>  $V_DATE_RFC

EOF
  cat debian/changelog >>debian/changelog.tmp
  mv debian/changelog.tmp debian/changelog
fi

$EDITOR debian/changelog

sed --in-place \
  -e 's#^\(Version:[\t ]*\)[^ ]\+ *$#\1'"$V_TXT"'#' \
  qtmips.spec

echo Press enter to continue
read x

git add debian/changelog

echo >.git/GITGUI_MSG "Version updated to $V_TXT"

git gui

git tag -d v$V_TXT

git tag -s v$V_TXT

rm -rf ../debian-test-build

mkdir -p ../debian-test-build/qtmips-$V_TXT

cp -xa . ../debian-test-build/qtmips-$V_TXT

cd ../debian-test-build/qtmips-$V_TXT || exit 1

if [ -x /usr/lib/obs-build/changelog2spec ]; then
  /usr/lib/obs-build/changelog2spec debian/changelog >../qtmips.changes
elif [ -x /usr/lib/build/changelog2spec ]; then
  /usr/lib/build/changelog2spec debian/changelog >../qtmips.changes
fi

dpkg-buildpackage
