#!/bin/bash -eu

unset tmpdir || true

trap '[ -n "${tmpdir:-}" ] && rm -rf "$tmpdir"' EXIT

function die() {
	echo "$1" >&2
	exit 1
}

[ "$#" -le 1 ] || die "usage: ub_download [--check] [dir]"

if [ "${1:-}" == "--check" ]; then
	do_check=1
	shift
else
	unset do_check || true
fi

[ -z "${1:-}" ] || cd "$1"

[ -f acquire ] || die "nincs acquire fájl!"
[ -f version ] || die "nincs version fájl!"
[ -f release ] || die "nincs release fájl!"

export UB_FULLVERSION="$(<"version")"
if grep -q ":" "version"; then
export UB_VERSION=${UB_FULLVERSION/*:/}
else
export UB_VERSION=${UB_FULLVERSION}
fi
export UB_VERSION_MAJOR="$(echo "$UB_VERSION" | cut -d. -f1)"
export UB_VERSION_MINOR="$(echo "$UB_VERSION" | cut -d. -f2)"
export UB_VERSION_MICRO="$(echo "$UB_VERSION" | cut -d. -f3)"
export UB_VERSION_HEAD1="$(echo "$UB_VERSION" | cut -d. -f-1)"
export UB_VERSION_HEAD2="$(echo "$UB_VERSION" | cut -d. -f-2)"
export UB_VERSION_HEAD3="$(echo "$UB_VERSION" | cut -d. -f-3)"
export UB_VERSION_HEAD4="$(echo "$UB_VERSION" | cut -d. -f-4)"
export UB_VERSION_HEAD5="$(echo "$UB_VERSION" | cut -d. -f-5)"
export UB_VERSION_HEAD6="$(echo "$UB_VERSION" | cut -d. -f-6)"
export UB_VERSION_TAIL1="$(echo "$UB_VERSION" | rev | cut -d. -f-1| rev)"
export UB_VERSION_TAIL2="$(echo "$UB_VERSION" | rev | cut -d. -f-2| rev)"
export UB_VERSION_TAIL3="$(echo "$UB_VERSION" | rev | cut -d. -f-3| rev)"
export UB_VERSION_TAIL4="$(echo "$UB_VERSION" | rev | cut -d. -f-4| rev)"
export UB_VERSION_TAIL5="$(echo "$UB_VERSION" | rev | cut -d. -f-5| rev)"
export UB_VERSION_TAIL6="$(echo "$UB_VERSION" | rev | cut -d. -f-6| rev)"
export UB_RELEASE="$(<release)"

tmpdir="$(mktemp -d -t dl.XXXXXX)"
[ -d "$tmpdir" ] || die "could not create tmpdir"
cp acquire "$tmpdir"/
chmod 700 "$tmpdir/acquire"

if [ "${do_check:-}" ]; then
	die "not yet implemented :("
else
	"$tmpdir/acquire" -d -a sources
fi
