#!/bin/sh
set -e
if [ "$1" != "--upstream-version" ]
then
  echo "Usage: $0 --upstream-version VERSION FILENAME"
  exit 1
fi
upstream_version="$2"
origfilename="$3"

# dereference symlink, we'll stash the original filename into pristine-tar
# (currently, debian does not allow .tar.bz2 source packages anyway, so this
# reserves the .orig.tar.* names for what's actually uploaded to Debian)
if [ -L "$origfilename" ]
then
  filename="`find "$origfilename" -printf "%h/%l"`"
else
  filename="$origfilename"
fi

case "$upstream_version" in
  1.0.*|1.2|1.2.*|1.4|1.4.*)
    package=wine
    ;;
  1.1.*|1.3.*|1.5.*)
    package=wine-unstable
    ;;
  *)
    echo "Unknown version series: $upstream_version"
    exit 1
    ;;
esac

# craft the .orig.tar.gz for the Debian source package
debfilename="`dirname "$origfilename"`/${package}_$upstream_version.orig.tar.gz"
if [ "$filename" != "$origfilename" ] && [ "$origfilename" != "$debfilename" ]
then
  # kill .orig.tar.bz2, we won't use it
  rm "$origfilename"
fi
if [ ! -f "$debfilename" ]
then
  # convert .orig.tar.gz
  bzcat "$filename"|gzip -9 > "$debfilename"
fi

# if we're not building from a git tree, use regular uupdate
if [ ! -d ".git" ]
then
  exec uupdate --no-symlink "$*"
fi

# pull from upstream git repository (favoring "their" changes in the merge)
upstream_tag="wine-$upstream_version"
winehq="git://source.winehq.org/git/wine.git"
git checkout upstream
git pull --no-edit $winehq tag "$upstream_tag" 

# load original .tar.bz2 and .tar.gz into pristine-tar
pristine-tar -v commit "$filename" "$upstream_tag"
pristine-tar -v commit "$debfilename" "$upstream_tag"

# merge from upstream into master branch
git checkout master
git merge upstream

# amend the merge commit message
$0-done --upstream-version "$upstream_version"
