#!/bin/bash

set -e

if [ "$1" = '--upstream-version' ]; then
    new_version="$2"
else
    printf "Missing --upstream-version argument" 1>&2
    exit 1
fi

DEB_SOURCE="$(dpkg-parsechangelog -SSource)"

work_dir="$(mktemp -d -t get-orig-source_${DEB_SOURCE}_${new_version}_XXXXXXX)"
trap "rm -rf '$work_dir'" EXIT

(
    cd "${work_dir}"
    curl -s https://github.com/nicocha30/ligolo-ng/releases/expanded_assets/v${new_version} \
    | grep -oP "(?<=/download/v${new_version}/)[^\"]+"\
    | grep -E '(darwin|linux|windows)_(amd64|arm64)' \
    | while read file; do
          wget https://github.com/nicocha30/ligolo-ng/releases/download/v${new_version}/${file}
          base_name="$(echo "${file}" | sed -E 's/(\.tar\.gz|\.zip)$//')"
          echo "${file}" | grep -q '\.tar\.gz' && tar --overwrite -xzf "${file}"
          echo "${file}" | grep -q '\.zip' && unzip -o "${file}"
          mv -f agent* "${base_name}$(echo agent* | grep -o '\.exe')" 2>/dev/null || true
          mv -f proxy* "${base_name}$(echo proxy* | grep -o '\.exe')" 2>/dev/null || true
          rm "${file}"
      done
)

rm -f "../ligolo-ng-common-binaries_${new_version}.orig.tar.gz"
tar -zcvf ../ligolo-ng-common-binaries_$(echo "${new_version}" | sed 's/-/./').orig.tar.gz -C "${work_dir}" .

rm -rf "${work_dir}"
