#!/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

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

%:
	dh $@ --with systemd

override_dh_auto_configure:
	$(MAKE) configure STORAGECONFFILE=/etc/lemonldap-ng/lemonldap-ng.ini \
		PERLOPTIONS="INSTALLDIRS=vendor"

override_dh_auto_build:
	$(MAKE) all

override_dh_auto_install:
	$(MAKE) install \
			DESTDIR=$(TMP) \
			PREFIX=/usr \
			LMPREFIX=/usr/share/lemonldap-ng/ \
			BINDIR=$(LMSHAREDIR)/bin \
			SBINDIR=/usr/sbin \
			FASTCGISOCKDIR=/var/run/llng-fastcgi-server \
			DOCUMENTROOT=$(LMVARDIR) \
			EXAMPLESDIR=/examples \
			HANDLERDIR=$(LMVARDIR)/handler \
			PORTALSKINSDIR=$(LMSHAREDIR)/portal-skins \
			MANAGERDIR=$(LMSHAREDIR)/manager \
			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=/usr/share/doc/lemonldap-ng-doc \
			FRDOCDIR=/usr/share/doc/lemonldap-ng-fr-doc \
			USEDEBIANLIBS=yes
	$(MAKE) install_fr_doc_site \
			DESTDIR=$(TMP) \
			DOCDIR=/usr/share/doc/lemonldap-ng-fr-doc \
			USEDEBIANLIBS=yes
	rm -rvf $(TMP)/usr/share/doc/lemonldap-ng-fr-doc/fr-doc/pages/documentation/current/icons \
		$(TMP)/usr/share/doc/lemonldap-ng-fr-doc/fr-doc/pages/documentation/current/lib
	mkdir $(TMP)/$(LMSHAREDIR)/portal
	mv $(TMP)/$(LMVARDIR)/portal/*.pl $(TMP)/$(LMSHAREDIR)/portal/
	rm -f $(TMP)/$(LMSHAREDIR)/portal/public.pl

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)
	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)
	chmod 750 debian/liblemonldap-ng-common-perl/$(CONFSTORAGEDIR)
	chmod 640 debian/liblemonldap-ng-common-perl/$(FIRSTCONFFILE) \
		debian/liblemonldap-ng-common-perl/$(LMINIFILE)
