#!/usr/bin/make -f

SHELL := sh -e

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

%:
	dh ${@} --with autoreconf

override_dh_auto_configure:
	dh_auto_configure -- --disable-rpath --enable-ipv6 --with-microhttpd=yes --with-nssdir=/lib/$(DEB_HOST_MULTIARCH) $(shell dpkg-buildflags --export=configure)

override_dh_auto_test:
	# Disabling test suite, incomplete

override_dh_auto_install:
	dh_auto_install
	
	# Create config file
	mkdir -p debian/tmp/etc
	cp debian/etc/gnunet.conf debian/tmp/etc/

	# Remove gnunet-download-manager.scm extension to match the manpage name
	mv debian/tmp/usr/bin/gnunet-download-manager.scm \
		debian/tmp/usr/bin/gnunet-download-manager
	mv debian/tmp/usr/bin/gnunet-gns-import.sh \
		debian/tmp/usr/bin/gnunet-gns-import
	
	# Removing useless files
	rm -f debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/*.la \
		debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/gnunet/*.la \
		debian/tmp/lib/$(DEB_HOST_MULTIARCH)/*.la \
		debian/tmp/usr/share/doc/gnunet/COPYING \
		debian/tmp/usr/bin/gnunet-service-template \
		debian/tmp/usr/bin/gnunet-template \
		debian/tmp/usr/bin/gnunet-helper-transport-wlan-dummy

ifneq ($(DEB_HOST_ARCH_OS),linux)
	# Remove files related to the libraries/tools not built
	find debian/tmp -name '*gnunet*vpn*' -print -delete
	find debian/tmp -name '*gnunet*dns*' -print -delete
	find debian/tmp -name '*gns*' -print -delete
endif

override_dh_install: debian/gnunet-server.init debian/gnunet-server.install.kfreebsd debian/gnunet-server.install.hurd
	dh_install -a --fail-missing

override_dh_strip:
	dh_strip --dbg-package=gnunet-dbg

override_dh_auto_clean:
	dh_auto_clean
	rm -rf debian/gnunet-server.init
	rm -rf contrib/gnunet_janitor.py contrib/gnunet_pyexpect.py libltdl/ \
		src/integration-tests/*.py
	rm -f debian/gnunet-server.install.kfreebsd debian/gnunet-server.install.hurd

debian/gnunet-server.init: debian/gnunet-server.init.in
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' $< > $@

debian/gnunet-server.install.kfreebsd debian/gnunet-server.install.hurd: debian/gnunet-server.install
	cat debian/gnunet-server.install \
	  | grep -v gnunet-dns | grep -v gnunetdns \
	  | grep -v gns \
	  | grep -v gnunet-vpn | grep -v gnunetvpn \
	  > $@
