#!/bin/bash

set -e

if ! git rev-parse --git-dir >/dev/null; then
    echo "Not in a git repo; please run from a clone of" >&2
    echo "https://github.com/raspberrypi/usbboot" >&2
    exit 1
fi
if [ -z "$DEB_SOURCE" -o -z "$DEB_VERSION_UPSTREAM" ]; then
    echo "Expected to find DEB_SOURCE and DEB_VERSION_UPSTREAM in my env" >&2
    exit 1
fi

MERGE_BASE=$(git merge-base HEAD master)
MERGE_BASE_PREFIX="${MERGE_BASE:0:7}"
DEB_VERSION_UPSTREAM="${DEB_VERSION_UPSTREAM%%+nowin}"
UPSTREAM_SUFFIX="${DEB_VERSION_UPSTREAM: -7:7}"
OUTPUT_FILE="${DEB_SOURCE}_${DEB_VERSION_UPSTREAM}.tar.gz"

if [ "$MERGE_BASE_PREFIX" != "$UPSTREAM_SUFFIX" ]; then
    echo "The deb version suffix doesn't appear to match the common base" >&2
    echo "of the packaging branch and master" >&2
    exit 1
fi

git archive \
    --prefix usbboot/ \
    --output ../"$OUTPUT_FILE" \
    "$MERGE_BASE"
mk-origtargz --compression gzip ../"$OUTPUT_FILE"
