#!/bin/sh -eu

CURPATH=$(pwd)
CURPATH=$(realpath "$CURPATH")

# shellcheck source=../build.env
. "$CURPATH/build.env"

cd "$SRCPATH"

case "${PROGLANG:-"UNK"}" in

    "SHELL")
        shellcheck -x ./*
    ;;

    "GO")
        go vet "./..."
        staticcheck "./..."
    ;;

    *)
        echo "Wrong or missing PROGLANG" 2>&1
        exit
    ;;
esac

cd "$CURPATH"
if [ -d "$DEBPATH" ]
then
    rm -r "$DEBPATH"
fi
case "$PROGLANG" in

    "SHELL")
        VERSION="${VERSION:-"0.0.0"}" 
    ;;

    "GO")
        VERSION=$(grep -Po 'const Version string = ".+"' "$SRCPATH/main.go" | cut -d '=' -f 2 | tr -d ' "')
    ;;


esac
BUILD=$(date +%s)
PKGFILE="${CURPATH}/${BINNAME}_${VERSION}+${BUILD}_${ARCH}.deb"
umask 022
mkdir -p "$DEBPATH/DEBIAN"
mkdir -p "$DEBPATH/usr/bin"
mkdir -p "$DEBPATH/usr/share/doc/$BINNAME"
mkdir -p "$DEBPATH/usr/share/lintian/overrides"
echo "$BINNAME binary: statically-linked-binary
$BINNAME binary: no-manual-page
$BINNAME binary: syntax-error-in-debian-changelog
$BINNAME binary: unknown-section" > "$DEBPATH/usr/share/lintian/overrides/$BINNAME"
git log | gzip -9 > "$DEBPATH/usr/share/doc/$BINNAME/changelog.gz"
echo "Proprietary software - Copyright $(date +%Y) TROY TECHNOLOGIES FRANCE" > "$DEBPATH/usr/share/doc/$BINNAME/copyright"
echo "Package: $BINNAME
Architecture: $ARCH
Version: $VERSION+$BUILD
Section: troytech
Maintainer: $(git config user.name) <$(git config user.email)>
Priority: optional
Description: $SYNOPSIS
 $DESCRIPTION" > "$DEBPATH/DEBIAN/control"

case "$PROGLANG" in

    "SHELL")
        cp "$SRCPATH"/* "$DEBPATH/usr/bin"
    ;;

    "GO")
        go build -C "$SRCPATH" -o "$DEBPATH/usr/bin/$BINNAME" -ldflags="-s -w"
    ;;


esac
dpkg-deb --root-owner-group -b "$DEBPATH" "$CURPATH"
lintian --fail-on=error,warning "$PKGFILE"
ssh troytech@apt.troy.tech find deb/in -type f -delete
scp "$PKGFILE"  troytech@apt.troy.tech:deb/in
ssh troytech@apt.troy.tech aptly repo add troytech deb/in
ssh troytech@apt.troy.tech find deb/in -type f -delete
ssh troytech@apt.troy.tech aptly publish update stable
rm "$PKGFILE"
rm -r "$DEBPATH"