#!/usr/bin/make -f
# -*- makefile -*-

export LC_ALL := C.UTF-8
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_STRIP=-Wl,-Bsymbolic-functions

CONFARGS =

ifneq ($(CI),)
	CONFARGS += --werror --wrap-mode=default
endif

SB_STYLE := debian
deb_version := $(shell dpkg-parsechangelog --show-field Version)
ifeq (yes,$(shell dpkg-vendor --derives-from Ubuntu && echo yes))
	SB_STYLE := ubuntu
	tar_name := fwupd_$(deb_version)_$(DEB_HOST_ARCH).tar.gz
	CONFARGS += -Defi_sbat_distro_id=ubuntu
	CONFARGS += -Defi_sbat_distro_summary=Ubuntu
	CONFARGS += -Defi_sbat_distro_pkgname=fwupd
	CONFARGS += -Defi_sbat_distro_version=$(deb_version)
	CONFARGS += -Defi_sbat_distro_url="https://launchpad.net/ubuntu/+source/fwupd"
else
	TMPLDIR  := debian/fwupd-$(DEB_HOST_ARCH)-signed-template/usr/share/code-signing/fwupd-$(DEB_HOST_ARCH)-signed-template
	CONFARGS += -Defi_sbat_distro_id=debian
	CONFARGS += -Defi_sbat_distro_summary=Debian
	CONFARGS += -Defi_sbat_distro_pkgname=fwupd
	CONFARGS += -Defi_sbat_distro_version=$(deb_version)
	CONFARGS += -Defi_sbat_distro_url="https://tracker.debian.org/pkg/fwupd"
endif

%:
	dh $@ --with gir

override_dh_auto_clean:
	rm -fr obj-*
	rm -fr debian/build
ifeq (ubuntu,$(SB_STYLE))
	rm -rf debian/fwupd-images
endif

override_dh_auto_configure:
	dh_auto_configure -- $(CONFARGS)

override_dh_install:
	dh_install
ifeq (debian,$(SB_STYLE))
	# Generate the template source for the Debian signing service to use
	mkdir -p $(TMPLDIR)/source-template/debian
	cp -a debian/signing-template/* $(TMPLDIR)/source-template/debian
	find $(TMPLDIR)/source-template/debian -type f | xargs sed -i "s,SIGNARCH,$(DEB_HOST_ARCH),"
	find $(TMPLDIR)/source-template/debian -type f | xargs sed -i "s,SIGNVERSION,$(deb_version),"
	set -e; for file in $$(find $(TMPLDIR)/source-template/debian -type f -name '*SIGNARCH*'); do \
		file1=$$(echo $$file | sed "s,SIGNARCH,$(DEB_HOST_ARCH),"); \
		mv -v $$file $$file1; \
	done
	debian/gen_signing_changelog $(TMPLDIR)/source-template/debian fwupd $(DEB_HOST_ARCH)
	debian/gen_signing_json $(TMPLDIR) fwupd ${DEB_HOST_ARCH}
endif

override_dh_builddeb:
	dh_builddeb
ifeq (ubuntu,$(SB_STYLE))
	set -e; if [ -d debian/tmp/usr/libexec/fwupd/efi/ ]; then \
		mkdir -p debian/fwupd-images/$(deb_version); \
		cp debian/tmp/usr/libexec/fwupd/efi/fwupd*.efi debian/fwupd-images/$(deb_version); \
		echo $(deb_version) > debian/fwupd-images/$(deb_version)/version; \
		tar -C debian/fwupd-images -czvf ../$(tar_name) .; \
		dpkg-distaddfile $(tar_name) raw-uefi -; \
	fi
endif
