#!/usr/bin/make -f

export DH_GOLANG_EXCLUDES = /etc/Proton
export GOCACHE = /tmp/go-cache
export GOMODCACHE = /tmp/go-mod-cache

UPSTREAM_VERSION := $(shell dpkg-parsechangelog -SVersion | cut -d- -f1)

%:
	dh $@ --buildsystem=golang --with=golang

override_dh_auto_build:
	CGO_ENABLED=0 go build -mod=vendor -ldflags="-s -w -X github.com/Demetrius-ch/forgekit/internal/app.Version=$(UPSTREAM_VERSION)" -o forgekit ./cmd/forge

override_dh_auto_test:
	# Skip tests in Debian build - they require network access for go get
	# Tests are run in CI separately
	echo "Skipping tests (require network access)"

override_dh_auto_install:
	# Install only the binary, not the source code
	install -D -m 755 forgekit debian/forgekit/usr/bin/forgekit
	# Create forge symlink for backward compatibility
	ln -sf forgekit debian/forgekit/usr/bin/forge
	# Install AppStream metadata
	install -D -m 644 packaging/com.forgekit.ForgeKit.metainfo.xml debian/forgekit/usr/share/metainfo/com.forgekit.ForgeKit.metainfo.xml
	# Install icon
	install -D -m 644 packaging/icons/hicolor/scalable/apps/forgekit.svg debian/forgekit/usr/share/icons/hicolor/scalable/apps/forgekit.svg
	# Install man pages
	install -D -m 644 docs/man/forgekit.1.gz debian/forgekit/usr/share/man/man1/forgekit.1.gz
	install -D -m 644 docs/man/forgekit-init.1.gz debian/forgekit/usr/share/man/man1/forgekit-init.1.gz
	install -D -m 644 docs/man/forgekit-add.1.gz debian/forgekit/usr/share/man/man1/forgekit-add.1.gz
	install -D -m 644 docs/man/forgekit-remove.1.gz debian/forgekit/usr/share/man/man1/forgekit-remove.1.gz
	install -D -m 644 docs/man/forgekit-analyze.1.gz debian/forgekit/usr/share/man/man1/forgekit-analyze.1.gz
	install -D -m 644 docs/man/forgekit-check.1.gz debian/forgekit/usr/share/man/man1/forgekit-check.1.gz
	install -D -m 644 docs/man/forgekit-doctor.1.gz debian/forgekit/usr/share/man/man1/forgekit-doctor.1.gz
	install -D -m 644 docs/man/forgekit-inspect.1.gz debian/forgekit/usr/share/man/man1/forgekit-inspect.1.gz
	install -D -m 644 docs/man/forgekit-version.1.gz debian/forgekit/usr/share/man/man1/forgekit-version.1.gz

override_dh_golang:
	# Disable dh_golang - static binary, no Go deps to track

override_dh_installchangelogs:
	dh_installchangelogs debian/changelog

override_dh_installdocs:
	dh_installdocs
