#!/usr/bin/make -f

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

DEB_RELEASE=$(shell dpkg-parsechangelog -SVersion | sed 's/[^-]\+-//')
DEB_UVERSION=$(shell  dpkg-parsechangelog -SVersion)
DEB_BUILD_DIR=debian/build

INSTDIR=$(CURDIR)/debian/tmp
PHPVERSION=7.1
SMARTYVER=2.6.14

ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
	CONFFLAG = ""
else
	CONFFLAG = "--enable-release"
endif

DEB_CONFIGURE_EXTRA_ARGS :=      \
    --host=$(DEB_HOST_GNU_TYPE) \
    --build=$(DEB_BUILD_GNU_TYPE) \
    --with-distro=debian \
    --prefix=/usr \
    --localstatedir=/var \
    --sysconfdir=/etc \
    --mandir=\$${prefix}/share/man \
    --infodir=\$${prefix}/share/info \
    --with-userscript-prefix=/etc/kopano/userscripts \
    --with-quotatemplate-prefix=/etc/kopano/quotamail \
    --disable-static \
    --disable-tcmalloc \
    --enable-epoll \
    --enable-unicode \
    --enable-python \
    --enable-swig \
    --with-php-config=/usr/bin/php-config$(PHPVERSION) \
    $(CONFFLAG) \
    $(NULL)

%:
	dh $@ --builddirectory=$(DEB_BUILD_DIR) --parallel --with systemd,autoreconf,php

override_dh_auto_configure:
	echo ${DEB_UVERSION} > $(CURDIR)/revision
	[ -x ./bootstrap.sh ] && ./bootstrap.sh || true
	dh_auto_configure -- $(DEB_CONFIGURE_EXTRA_ARGS)
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
		debian/kopano-contacts.install.in > debian/kopano-contacts.install
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
		debian/kopano-dev.install.in > debian/kopano-dev.install
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
		debian/kopano-dev.links.in > debian/kopano-dev.links
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
		debian/kopano-libs.install.in > debian/kopano-libs.install
	sed 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/g' \
		debian/kopano-server.install.in > debian/kopano-server.install

override_dh_auto_clean:
	[ ! -f Makefile ] || dh_auto_clean

override_dh_install:
	# Install docs
	$(MAKE) DESTDIR=$(INSTDIR) install -C $(DEB_BUILD_DIR)/swig/python/kopano
	$(MAKE) DESTDIR=$(INSTDIR) install-man1 -C $(DEB_BUILD_DIR)/doc
	# Don't ship any .la files
	rm -f $(INSTDIR)/usr/lib/*/*.la
	# Make sure docs end up in kopano-server
	mv $(INSTDIR)/usr/share/doc/kopano $(INSTDIR)/usr/share/doc/kopano-server

	# since this is not linked to an initscript anymore, install the file ourselves.
	mkdir -p $(INSTDIR)/etc/default
	install -o root -g root -m 644 debian/kopano-common.kopano.default $(INSTDIR)/etc/default/kopano

	# dbconfig-common
	mkdir -p $(INSTDIR)/usr/share/kopano/debian
	cp -a debian/sql/debian-db.cfg.template $(INSTDIR)/usr/share/kopano/debian

	# remove compiled python files
	find $(INSTDIR) -name \*.pyc -exec rm {} \;

	# add php:Depends
	echo "php:Depends=phpapi-$(shell php-config$(PHPVERSION) --phpapi)" > debian/php$(PHPVERSION)-mapi.substvars

	# adjust server.cfg to multi-arch behavior
	sed -i 's/@DEB_HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/' $(INSTDIR)/etc/kopano/server.cfg
	dh_install

override_dh_installinit:
	dh_installinit --name kopano-server
	dh_installinit --name kopano-spooler
	dh_installinit --name kopano-dagent
	dh_installinit --name kopano-gateway
	dh_installinit --name kopano-monitor
	dh_installinit --name kopano-ical
	dh_installinit --name kopano-search

override_dh_compress:
	dh_compress -X.py -X.pl

override_dh_makeshlibs:
	dh_makeshlibs -O--builddirectory=$(DEB_BUILD_DIR) -O--parallel \
		-Xdbplugin \
		-Xldapplugin \
		-Xlibkcclient \
		-Xlibkccontacts \
		-Xunixplugin
