#!/usr/bin/make -f

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

LMSHAREDIR=/usr/share/lemonldap-ng
LMVARDIR  =/var/lib/lemonldap-ng
TMP       = $(CURDIR)/debian/tmp
LMDOCDIR  =/usr/share/doc/lemonldap-ng-doc

CONFDIR=/etc/lemonldap-ng
SESSIONSDIR=$(LMVARDIR)/sessions
PSESSIONSDIR=$(LMVARDIR)/psessions
NOTIFICATIONSDIR=$(LMVARDIR)/notifications
CONFSTORAGEDIR=$(LMVARDIR)/conf
FIRSTCONFFILE=$(CONFSTORAGEDIR)/lmConf-1
LMINIFILE=$(CONFDIR)/lemonldap-ng.ini
CAPTCHADIR=$(LMVARDIR)/captcha
CAPTCHAOUTPUTDIR=$(LMVARDIR)/portal/captcha_output

%:
	dh $@

override_dh_auto_configure:
	cd lemonldap-ng-portal/example/skins/dark/ && rm -f redirect.tpl && ln -s ../common/redirect.tpl
	$(MAKE) configure STORAGECONFFILE=/etc/lemonldap-ng/lemonldap-ng.ini \
		PERLOPTIONS="INSTALLDIRS=vendor"

override_dh_auto_clean:
	cd lemonldap-ng-portal/example/skins/dark/ && rm -f redirect.tpl && ln -s ../pastel/redirect.tpl
	$(MAKE) clean

override_dh_auto_install:
	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp \
			PREFIX=/usr/ \
			LMPREFIX=/usr/share/lemonldap-ng/ \
			BINDIR=$(LMSHAREDIR)/bin/ \
			DOCUMENTROOT=$(LMVARDIR) \
			EXAMPLESDIR=/examples/ \
			HANDLERDIR=$(LMSHAREDIR)/handler/ \
			PORTALSKINSDIR=$(LMSHAREDIR)/portal-skins/ \
			MANAGERSKINSDIR=$(LMSHAREDIR)/manager-skins/ \
			SESSIONSEXPLORERDATADIR=$(LMSHAREDIR)/sessions-explorer-imgs/ \
			STORAGECONFFILE=/etc/lemonldap-ng/lemonldap-ng.ini \
			TOOLSDIR=$(LMSHAREDIR)/ressources/ \
			CONFDIR=/etc/lemonldap-ng/ \
			CRONDIR=/etc/cron.d/ \
			DATADIR=$(LMVARDIR) \
			APACHEVERSION=2.X \
			APACHEUSER=www-data \
			APACHEGROUP=www-data \
			DEFDOCDIR=$(LMDOCDIR)

	# Removing binary files due to a quilt bug
	rm -rf $(TMP)/usr/share/lemonldap-ng/portal-skins/bootstrap/fonts \
		$(TMP)/usr/share/lemonldap-ng/portal-skins/bootstrap/css/bootstrap*.css \
		$(TMP)/usr/share/lemonldap-ng/portal-skins/bootstrap/js/bootstrap.js \
		$(TMP)/usr/share/lemonldap-ng/portal-skins/common/js/jquery.cookie.js \
		$(TMP)/usr/share/lemonldap-ng/manager-skins/default/js/jquery.cookie.js \
		$(TMP)/usr/share/lemonldap-ng/portal-skins/common/js/jquery-ui-1.10.3.custom \
		$(TMP)/usr/share/lemonldap-ng/manager-skins/default/js/jquery-ui-1.10.3.custom.js \
		$(TMP)/usr/share/lemonldap-ng/portal-skins/common/js/jquery-1.10.2.js \
		$(TMP)/usr/share/lemonldap-ng/manager-skins/default/js/jquery-1.10.2.js \
		$(TMP)/usr/share/lemonldap-ng/manager-skins/default/ui-darkness \
		$(TMP)/usr/share/lemonldap-ng/manager-skins/default/ui-lightness
	test -n "$$LOCALBUILD" || ./scripts/minifierjs $$(find debian/tmp/ -name '*.js')
	test -n "$$LOCALBUILD" || ./scripts/minifiercss $$(find debian/tmp/ -name '*.css')

	mkdir $(TMP)/$(LMSHAREDIR)/manager $(TMP)/$(LMSHAREDIR)/portal
	mv $(TMP)/$(LMVARDIR)/portal/*.pl $(TMP)/$(LMSHAREDIR)/portal/
	mv $(TMP)/$(LMVARDIR)/manager/*pl $(TMP)/$(LMSHAREDIR)/manager/

override_dh_compress:
	dh_compress -X favicon.ico

# Fix lemonldap-ng dirs permissions and owner since dh_fixperms change them:
#  * global configuration dirs must be writable by www-data but not readable
#    by all (also sessions, captcha,... dirs)
#  * lemonldap-ng.ini must not be readable by all
override_dh_fixperms:
	dh_fixperms
	chown www-data:www-data \
		debian/*/$(SESSIONSDIR) \
		debian/*/$(SESSIONSDIR)/lock \
		debian/*/$(PSESSIONSDIR) \
		debian/*/$(PSESSIONSDIR)/lock \
		debian/*/$(NOTIFICATIONSDIR) \
		debian/liblemonldap-ng-common-perl/$(CONFSTORAGEDIR) \
		debian/liblemonldap-ng-portal-perl/$(CAPTCHADIR) \
		debian/liblemonldap-ng-portal-perl/$(CAPTCHADIR)/data \
		debian/liblemonldap-ng-portal-perl/$(CAPTCHAOUTPUTDIR)
	chgrp www-data debian/liblemonldap-ng-common-perl/$(LMINIFILE) \
		debian/liblemonldap-ng-common-perl/$(FIRSTCONFFILE)
	chmod 770 debian/*/$(SESSIONSDIR) debian/*/$(SESSIONSDIR)/lock \
	        debian/*/$(PSESSIONSDIR) debian/*/$(PSESSIONSDIR)/lock \
		debian/*/$(NOTIFICATIONSDIR) \
		debian/liblemonldap-ng-portal-perl/$(CAPTCHADIR) \
		debian/liblemonldap-ng-portal-perl/$(CAPTCHADIR)/data \
		debian/liblemonldap-ng-portal-perl/$(CAPTCHAOUTPUTDIR)
	chmod 750 debian/liblemonldap-ng-common-perl/$(CONFSTORAGEDIR)
	chmod 640 debian/liblemonldap-ng-common-perl/$(FIRSTCONFFILE) \
		debian/liblemonldap-ng-common-perl/$(LMINIFILE)
