#!/usr/bin/make -f
%:
	dh $@
override_dh_auto_clean:
	# app_compiled is generated by the checksum-pinned outer build before
	# dpkg-buildpackage enters its clean/build lifecycle; keep it intact.
	dh_clean
override_dh_auto_build:
	cd app_compiled && npx --no-install asar pack . ../poi.asar
override_dh_auto_install:
	install -d debian/poi/usr/lib/poi debian/poi/usr/bin
	install -m 0644 poi.asar debian/poi/usr/lib/poi/app.asar
	printf '%s\n' '#!/bin/sh' 'set -eu' 'unset ELECTRON_RUN_AS_NODE' 'exec /usr/lib/electron-runtime-44/electron /usr/lib/poi/app.asar "$$@"' > debian/poi/usr/bin/poi
	chmod 0755 debian/poi/usr/bin/poi
	install -D -m 0644 debian/poi.desktop debian/poi/usr/share/applications/poi.desktop
	install -D -m 0644 assets/icons/linux/512x512.png debian/poi/usr/share/icons/hicolor/512x512/apps/poi.png
	# Keep resolved production dependency licence texts available outside ASAR.
	find app_compiled/node_modules -type f \( -iname 'license' -o -iname 'license.*' -o -iname 'copying' -o -iname 'notice' \) \
		-exec sh -c 'for file do rel=$${file#app_compiled/node_modules/}; install -D -m 0644 "$$file" "debian/poi/usr/share/doc/poi/third-party-licenses/$$rel"; done' sh {} +
	test -n "$$(find debian/poi/usr/share/doc/poi/third-party-licenses -type f -print -quit)"
	# Enforce the application/runtime file-ownership boundary at staging time.
	test ! -e debian/poi/usr/lib/poi/electron
	test ! -e debian/poi/usr/lib/poi/chrome-sandbox
	test ! -e app_compiled/node_modules/electron
	! find app_compiled -type f \( -name '*.node' -o -name '*.so' -o -name electron \
		-o -name chrome-sandbox -o -name chrome_crashpad_handler -o -name app-update.yml \
		-o -name latest.yml \) -print -quit | grep -q .
override_dh_auto_test:
	# Runtime behavior is covered by test/test-shared-electron-poi.sh.
