#!/usr/bin/make -f
# By Jelmer Vernooij <jelmer@samba.org>
#
CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)

LDFLAGS += -Wl,--as-needed
DSOOPT = $(LDFLAGS) -shared -fPIC
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)

DESTDIR = $(CURDIR)/debian/tmp

PYVERS = $(shell pyversions -rv)
export PYTHON="$(shell which `pyversions -r`)"

%:
	dh $* --with python2,autoreconf

override_dh_autoreconf:
	dh_autoreconf --as-needed ./autogen.sh

override_dh_auto_configure:
	test -f configure || ./autogen.sh
	chmod a+x ./configure
	CFLAGS='-g -O0' LDFLAGS=-Wl,--as-needed ./configure \
		--prefix=/usr \
		--mandir=/usr/share/man \
		--with-modulesdir=/usr/lib/$(DEB_HOST_MULTIARCH)/openchange \
		--disable-pymapi \
		--libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
		--enable-pyopenchange
	# Urgh
	sed -i -e 's/site-packages/dist-packages/' config.mk

override_dh_auto_test:
	# Test suite fails at the moment, because of changes in Samba.

override_dh_auto_build:
	test -d bin || mkdir bin
	test -d setup/mapistore/ || mkdir setup/mapistore/
	$(MAKE) datadir=/usr/share/openchange LDFLAGS="$(LDFLAGS)" DSOOPT="$(DSOOPT)" all

override_dh_auto_clean:
	[ ! -f config.mk ] || $(MAKE) distclean
	rm -f config.log
	rm -rf mapiproxy/services/web/rpcproxy/build
	rm -rf mapiproxy/services/web/rpcproxy/dist
	rm -rf mapiproxy/services/ocsmanager/ocsmanager.egg-info
	rm -rf mapiproxy/services/ocsmanager/build
	rm -rf mapiproxy/services/ocsmanager/dist
	find mapiproxy/services/ocsmanager -name "*.pyc" | xargs rm -f
	rm -f python/openchange/mapi.so
	rm -f configure config.h.in pyopenchange/mapistore/errors.c

override_dh_auto_install:
	mkdir -p $(DESTDIR)/usr/lib/nagios/plugins
	$(MAKE) datadir=/usr/share/openchange install installman DESTDIR=$(DESTDIR) MANUALLY_CREATE_SYMLINKS=yes
	mv $(DESTDIR)/usr/lib/$(DEB_HOST_MULTIARCH)/nagios/check_exchange \
	   $(DESTDIR)/usr/lib/nagios/plugins/check_exchange 
	install -m 700 -d -o www-data -g www-data $(DESTDIR)/var/cache/ntlmauthhandler
	install -m 0755 script/bug-analysis/upload-crash-report.py $(DESTDIR)/usr/share/openchange/
	install -m 0755 script/openchange_user_cleanup.py $(DESTDIR)/usr/share/openchange/
	rm -rf $(DESTDIR)/usr/modules
	# Don't install the testsuite for now
	rm -f $(DESTDIR)/usr/torture/openchange.so
	rm -rf $(DESTDIR)/usr/share/openchange/mapitest
	rm -f $(DESTDIR)/usr/bin/check_fasttransfer
	rm -f $(DESTDIR)/usr/bin/test_asyncnotif
	install -m 0644 -D debian/openchangeserver.lintian debian/openchangeserver/usr/share/lintian/overrides/openchangeserver
	# Don't install python modules
	rm -f $(DESTDIR)/usr/lib/python*/dist-packages/openchange/mapi.so
	rm -rf $(DESTDIR)/usr/lib/python*/dist-packages/openchange/tests
	# ocsmanager app
	(cd mapiproxy/services/ocsmanager; python$* setup.py install --prefix=/usr --root $(DESTDIR) \
		--single-version-externally-managed --install-layout=deb $(py_setup_install_args))
	install -d $(DESTDIR)/etc/ocsmanager
	install -m 0644 mapiproxy/services/ocsmanager/ocsmanager.ini $(DESTDIR)/etc/ocsmanager/
	install -d $(DESTDIR)/etc/apache2/conf.d
	install -m 0644 mapiproxy/services/ocsmanager/ocsmanager-apache.conf $(DESTDIR)/etc/apache2/conf.d/ocsmanager.conf
	# rpcproxy
	install -m 0644 mapiproxy/services/web/rpcproxy/rpcproxy.conf $(DESTDIR)/etc/apache2/conf.d/rpcproxy.conf
	install -d $(DESTDIR)/usr/lib/openchange/web/rpcproxy
	install -m 0644 mapiproxy/services/web/rpcproxy/rpcproxy.wsgi $(DESTDIR)/usr/lib/openchange/web/rpcproxy/rpcproxy.wsgi
	(cd mapiproxy/services/web/rpcproxy; python$* setup.py install --install-lib=/usr/lib/openchange/web/rpcproxy --root $(DESTDIR) \
		--install-scripts=/usr/lib/openchange/web/rpcproxy --install-layout=deb $(py_setup_install_args))
	rm -f $(DESTDIR)/usr/lib/openchange/web/rpcproxy/rpcproxy/*pyc
	install -d $(DESTDIR)/usr/lib/python2.7/dist-packages/

override_dh_install:
	dh_install --sourcedir=debian/tmp --list-missing # --fail-missing

override_dh_fixperms:
	dh_fixperms --exclude var/cache/ntlmauthhandler

override_dh_strip:
	dh_strip --dbg-package=openchangeserver-dbg

get-orig-source:
	./debian/build-orig.sh
