#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
NAME		= pf
PREFIX		= /usr/local
INSTALL		= /usr/bin/install -c -D -m0644

# DIST = jessie or stretch or ..
DIST = $(shell lsb_release -c -s)

configure: configure-stamp
configure-stamp:
	dh_testdir
	# Add here commands to configure the package.

	touch configure-stamp


build: build-stamp

build-stamp: configure-stamp  
	dh_testdir


	touch $@

clean: 
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp


	dh_clean 

install: build
	dh_testdir
	dh_testroot
	dh_prep
	dh_installdirs

	#copying example files without example extension (.conf.example -> .conf)
	for i in `find * -name "*.example" ! -path 'conf/pfconfig.conf*' ! -path 'conf/redis_cache.conf*'`; do \
		$(INSTALL) $$i "$(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/$$(dirname $$i)/$$(basename $$i .example)"; \
	done

	# Install all except debian and t directory
	# dir* to exclude directory itself
	for i in `find * ! -path 'debian/*' ! -path 'debian' ! -path 'docs/*' ! -path 'docs' ! -path 't/*' ! -path 't' ! -path 'lib/pfconfig/*' ! -path 'lib/pfconfig' ! -path 'sbin/pfconfig*' \
	-not -path "addons/full-upgrade*" -not -path "html/parking*" -type d`; do \
		install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/$$i; \
	done
	for i in `find * ! -path 'debian/*' ! -path 'debian' ! -path 'docs/*' ! -path 'docs' ! -path 't/*' ! -path 't' ! -path 'lib/pfconfig/*' ! -path 'lib/pfconfig' ! -path 'sbin/pfconfig*' \
	-not -path "addons/full-upgrade/*" -not -path "html/parking/*" ! -path 'conf/pfconfig.conf*' ! -path 'conf/redis_cache.conf*' ! -type d`; do \
		$(INSTALL) $$i $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/$$i; \
	done

	install -d -m2775 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/caddy-services/api.conf.d

	# packetfence-test package
	make DESTDIR=$(CURDIR)/debian/packetfence-test test_install

	# packetfence-export package
	make -C addons/full-import DESTDIR=$(CURDIR)/debian/packetfence-export install

	# packetfence-upgrade package
	make -C addons/full-upgrade DESTDIR=$(CURDIR)/debian/packetfence-upgrade install

	# packetfence-archive-keyring package
	install -d $(CURDIR)/debian/packetfence-archive-keyring/usr/share/keyrings/
	cp debian/keyrings/monitoring-scripts-keyring.gpg $(CURDIR)/debian/packetfence-archive-keyring/usr/share/keyrings/

	# packetfence-pfconnector-remote package
	make DESTDIR=$(CURDIR)/debian/packetfence-pfconnector-remote pfconnector_remote_install

	# packetfence-ci-lib package
	make DESTDIR=$(CURDIR)/debian/packetfence-ci-lib ci_lib_install

	# packetfence-config package
	for i in `find * -path 'lib/pfconfig*' -type d`; do \
		install -d -m0700 $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/$$i; \
	done
	for i in `find * -path 'lib/pfconfig/*' ! -type d`; do \
		$(INSTALL) $$i $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/$$i; \
	done
	# generate translations
	# TODO this is duplicated in our RPM spec, we should aim to consolidate in a 'make' style step
	for TRANSLATION in de en es fr he_IL it nl pl_PL pt_BR nb_NO; do \
		/usr/bin/msgfmt $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/locale/$$TRANSLATION/LC_MESSAGES/packetfence.po \
		--output-file $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/locale/$$TRANSLATION/LC_MESSAGES/packetfence.mo; \
	done
	# Install empty directories not in our tarball since the git move
	install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons
	install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/ssl
	install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/ssl/acme-challenge
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/uploads
	install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/raddb/sites-enabled
	install -d -m0750 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/logs
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/conf
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache/ntlm_cache_users
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/var
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/redis_queue
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/redis_ntlm_cache
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/run
	install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/rrd
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/session
	install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/webadmin_cache
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache/configfiles
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache/configfilesdata
	install -d -m0700 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/ssl_mutex
	install -d -m2770 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/proxysql
	touch $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/cache_control
	#Configurator integration
	install -d -m0700 $(CURDIR)/debian/packetfence/lib/systemd/system
	install -d -m0700 $(CURDIR)/debian/packetfence/etc/systemd/system
	install -m0644 $(CURDIR)/debian/packetfence.target $(CURDIR)/debian/packetfence/etc/systemd/system
	install -m0644 $(CURDIR)/debian/packetfence-base.target $(CURDIR)/debian/packetfence/etc/systemd/system
	install -m0644 $(CURDIR)/debian/packetfence-cluster.target $(CURDIR)/debian/packetfence/etc/systemd/system
	install -d -m0700 $(CURDIR)/debian/packetfence/etc/systemd/system/packetfence-base.target.wants
	install -d -m0700 $(CURDIR)/debian/packetfence/etc/systemd/system/packetfence.target.wants
	install -d -m0700 $(CURDIR)/debian/packetfence/etc/systemd/system/packetfence-cluster.target.wants
	install -m0644 $(CURDIR)/debian/packetfence.slice $(CURDIR)/debian/packetfence/etc/systemd/system
	install -m0644 $(CURDIR)/debian/packetfence-base.slice $(CURDIR)/debian/packetfence/etc/systemd/system
	install -m0644 $(CURDIR)/debian/ifup@.service $(CURDIR)/debian/packetfence/etc/systemd/system
	install -d -m0700 $(CURDIR)/debian/packetfence/etc/default
	install -d -m0755 $(CURDIR)/debian/packetfence/etc/modprobe.d
	install -d -m0755 $(CURDIR)/debian/packetfence/etc/modules-load.d
	install -m0644 $(CURDIR)/debian/packetfence.modprobe $(CURDIR)/debian/packetfence/etc/modprobe.d/packetfence.conf
	install -m0644 $(CURDIR)/debian/packetfence.modules-load $(CURDIR)/debian/packetfence/etc/modules-load.d/packetfence.conf

	# copy the rsyslog systemd drop in and journald
	install -d -m0755 $(CURDIR)/debian/packetfence/etc/systemd/system/rsyslog.service.d/
	install -m0600 $(CURDIR)/packetfence.rsyslog-drop-in.service  $(CURDIR)/debian/packetfence/etc/systemd/system/rsyslog.service.d/packetfence.conf
	install -m0600 $(CURDIR)/packetfence.monit-drop-in.service  $(CURDIR)/debian/packetfence/etc/systemd/system/monit.service
	install -d -m0755 $(CURDIR)/debian/packetfence/etc/docker
	install -m0600 $(CURDIR)/containers/daemon.json  $(CURDIR)/debian/packetfence/etc/docker/daemon.json
	install -m0600 $(CURDIR)/packetfence.docker-drop-in.service  $(CURDIR)/debian/packetfence/etc/systemd/system/docker.service
	install -d -m0755 $(CURDIR)/debian/packetfence/usr/lib/systemd/journald.conf.d/
	install -m0644 -D $(CURDIR)/packetfence.journald $(CURDIR)/debian/packetfence/usr/lib/systemd/journald.conf.d/01-packetfence.conf
	install -d -m0755 $(CURDIR)/debian/packetfence/etc/systemd/system/logrotate.service.d/
	install -m0600 $(CURDIR)/packetfence.logrotate-drop-in.service  $(CURDIR)/debian/packetfence/etc/systemd/system/logrotate.service.d/override.conf
	#Sudoer
	install -oroot -groot -d -m0750 $(CURDIR)/debian/packetfence/etc/sudoers.d
	install -oroot -groot -m0440 $(CURDIR)/debian/packetfence.sudoers $(CURDIR)/debian/packetfence/etc/sudoers.d/packetfence
	install -oroot -groot -m0440 $(CURDIR)/disable-dns-lookup.sudoers $(CURDIR)/debian/packetfence/etc/sudoers.d/disable-dns-lookup
	#PacketFence Mariadb plugin
	make src/mariadb_udf/pf_udf.so
	install -D -m0755 src/mariadb_udf/pf_udf.so $(CURDIR)/debian/packetfence/$$(pkg-config mariadb --variable=plugindir)/pf_udf.so
	#PacketFence pfcmd suid
	install -d -m0755 $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin
	gcc src/pfcmd.c -o $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin/pfcmd
	# ntlm-wrapper
	install -d -m0755 $(CURDIR)/debian/packetfence-ntlm-wrapper$(PREFIX)/$(NAME)/bin
	make bin/ntlm_auth_wrapper
	mv bin/ntlm_auth_wrapper $(CURDIR)/debian/packetfence-ntlm-wrapper$(PREFIX)/$(NAME)/bin
	# packetfence-config
	install -d $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/sbin
	install -d -m0700 $(CURDIR)/debian/packetfence-config/lib/systemd/system
	install -d -m0700 $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/conf
	install -d -m2770 $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/var/cache/pfconfig
	install -m0755 sbin/pfconfig $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/sbin
	install -m0755 sbin/pfconfig-docker-wrapper $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/sbin
	install -m0600 conf/pfconfig.conf.defaults $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/conf/pfconfig.conf.defaults
	# packetfence-redis-cache
	install -d -m0700 $(CURDIR)/debian/packetfence-redis-cache/lib/systemd/system
	install -d -m2770 $(CURDIR)/debian/packetfence-redis-cache$(PREFIX)/$(NAME)/var/run
	install -d -m0700 $(CURDIR)/debian/packetfence-redis-cache$(PREFIX)/$(NAME)/conf
	install -d -m2770 $(CURDIR)/debian/packetfence-redis-cache$(PREFIX)/$(NAME)/logs
	install -d -m2770 $(CURDIR)/debian/packetfence-redis-cache$(PREFIX)/$(NAME)/var/redis_cache
	install -m0600 conf/redis_cache.conf.example $(CURDIR)/debian/packetfence-redis-cache$(PREFIX)/$(NAME)/conf/redis_cache.conf

	# packetfence-tracking-config
	install -m0644 $(CURDIR)/debian/packetfence-tracking-config.path $(CURDIR)/debian/packetfence/lib/systemd/system/packetfence-tracking-config.path

	# Golang binary
	install -d -m0744 $(CURDIR)/debian/packetfence-golang-daemon$(PREFIX)/$(NAME)/sbin
	make -C go all
	make -C go DESTDIR=$(CURDIR)/debian/packetfence-golang-daemon copy


# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installchangelogs 
	dh_installdocs
	dh_installexamples
	dh_install
#	dh_installmenu
#	dh_installdebconf	
	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_python
	dh_systemd_enable
	dh_installinit --no-restart-on-upgrade
	dh_installinit --name=packetfence-galera-autofix
	dh_installinit --name=packetfence-haproxy-admin
	dh_installinit --name=packetfence-haproxy-portal
	dh_installinit --name=packetfence-haproxy-db
	dh_installinit --name=packetfence-httpd.aaa
	dh_installinit --name=packetfence-httpd.dispatcher
	dh_installinit --name=packetfence-httpd.admin_dispatcher
	dh_installinit --name=packetfence-httpd.portal
	dh_installinit --name=packetfence-httpd.webservices
	dh_installinit --name=packetfence-docker-iptables
	dh_installinit --name=packetfence-iptables
	dh_installinit --name=packetfence-ip6tables
	dh_installinit --name=packetfence-keepalived
	dh_installinit --name=packetfence-mariadb
	dh_installinit --name=packetfence-mysql-probe
	dh_installinit --name=packetfence-netdata
	dh_installinit --name=packetfence-pfbandwidthd
	dh_installinit --name=packetfence-pfacct
	dh_installinit --name=packetfence-pfdetect
	dh_installinit --name=packetfence-pfdhcplistener
	dh_installinit --name=packetfence-pfdns
	dh_installinit --name=packetfence-pffilter
	dh_installinit --name=packetfence-pfcron
	dh_installinit --name=packetfence-pfperl-api
	dh_installinit --name=packetfence-pfpki
	dh_installinit --name=packetfence-pfqueue-backend
	dh_installinit --name=packetfence-pfqueue-go
	dh_installinit --name=packetfence-pfqueue-perl
	dh_installinit --name=packetfence-pfsso
	dh_installinit --name=packetfence-radiusd-acct
	dh_installinit --name=packetfence-radiusd-auth
	dh_installinit --name=packetfence-radiusd-cli
	dh_installinit --name=packetfence-radiusd-eduroam
	dh_installinit --name=packetfence-radiusd-load_balancer
	dh_installinit --name=packetfence-radsniff
	dh_installinit --name=packetfence-redis_ntlm_cache
	dh_installinit --name=packetfence-redis_queue
	dh_installinit --name=packetfence-snmptrapd
	dh_installinit --name=packetfence-pfdhcp
	dh_installinit --name=packetfence-pfipset
	dh_installinit --name=packetfence-pfunified-api
	dh_installinit --name=packetfence-pfstats
	dh_installinit --name=packetfence-api-frontend
	dh_installinit --name=packetfence-pfconnector-server
	dh_installinit --name=packetfence-pfconnector-client
	dh_installinit --name=packetfence-proxysql
	dh_installinit --name=packetfence-pfldapexplorer
	dh_installinit --no-start --name=packetfence-ntlm-auth-api
	dh_installinit --name=packetfence-ntlm-auth-api-domain@
	dh_installinit --name=packetfence-pfsetacls
	dh_installinit --no-start --name=packetfence-tracking-config
	dh_installinit --no-start --name=packetfence-kafka

	dh_installcron
#	dh_installinfo
	dh_installman
	dh_link \
			/usr/local/pf/raddb/sites-available/dynamic-clients /usr/local/pf/raddb/sites-enabled/dynamic-clients \
			/usr/local/pf/raddb/sites-available/status /usr/local/pf/raddb/sites-enabled/status \
			/usr/local/pf/raddb/mods-config/files/authorize /usr/local/pf/raddb/users \
			/usr/local/pf/raddb/mods-config/preprocess/hints /usr/local/pf/raddb/hints \
			/usr/local/pf/raddb/mods-config/preprocess/huntgroups /usr/local/pf/raddb/huntgroups \
			/usr/local/fingerbank/lib/fingerbank /usr/local/pf/lib/fingerbank \
			/usr/local/pf/html/pfappserver/lib/pfappserver /usr/local/pf/lib/pfappserver \
			/usr/local/pf/html/captive-portal/lib/captiveportal /usr/local/pf/lib/captiveportal \
			/usr/local/pf/addons/upgrade/move-logos-to-profile-templates.pl /usr/local/pf/addons/upgrade/to-12.1-move-logos-to-profile-templates.pl
	dh_strip
	dh_compress
	# PERMISSIONS
	chmod 0750 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf
	chmod 2775 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/conf/services.d
	### Executables
	# packetfence-export pkg
	chmod 0755 $(CURDIR)/debian/packetfence-export$(PREFIX)/$(NAME)/addons/full-import/export.sh
	chmod 0755 $(CURDIR)/debian/packetfence-export$(PREFIX)/$(NAME)/addons/full-import/find-extra-files.pl
	# packetfence-upgrade pkg
	chmod 0755 $(CURDIR)/debian/packetfence-upgrade$(PREFIX)/$(NAME)/addons/full-upgrade/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-upgrade$(PREFIX)/$(NAME)/addons/full-upgrade/hooks/*.sh

	# packetfence-test pkg
	# t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/pfconfig-test
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/pfconfig-test-serial
	# benchmarks
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/benchmarks/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/benchmarks/webservices_client/*.pl
	# dao
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/dao/*.t
	# db
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/db/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/db/*.pl
	# integration
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/integration/*.t
	# mock-servers
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/mock_servers/*.pl
	# network-devices
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/network-devices/*.t
	# serialized_unittests
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/serialized_unittests/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/serialized_unittests/db/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/serialized_unittests/UnifiedApi/Controller/*.t
	# stress-test
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/stress-test/*.pl
	# unittest
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/Portal/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/pfconfig/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/config/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/config/builder/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/config/builder/filter_engine/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/Switch/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/Switch/Dell/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/detect/parser/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/dhcp/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/api/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/access_filter/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/condition/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/pfappserver/Base/Form/Role/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/pfappserver/Form/Config/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/ConfigStore/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/util/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/SQL/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/factory/condition/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/I18N/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/OpenAPI/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/OpenAPI/Generator/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/Controller/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/Controller/Users/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/Controller/Config/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/Controller/Config/Sources/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/Controller/Config/FilterEngines/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/Controller/Fingerbank/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/UnifiedApi/Search/Builder/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/cmd/pf/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/provisioner/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/pfcron/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/pfcron/task/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/Authentication/*.t
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/unittest/Authentication/Source/*.t
	# Venom
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/venom/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/venom/utils/*.sh

	# export/import unit tests
	chmod 0755 $(CURDIR)/debian/packetfence-test$(PREFIX)/$(NAME)/t/addons-functions/*.tests

	# Addon Stress-tester
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/stress-tester/dhcp_test

	# packetfence-ci-lib
	chmod 0755 $(CURDIR)/debian/packetfence-ci-lib$(PREFIX)/$(NAME)/ci/lib/build/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-ci-lib$(PREFIX)/$(NAME)/ci/lib/check/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-ci-lib$(PREFIX)/$(NAME)/ci/lib/common/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-ci-lib$(PREFIX)/$(NAME)/ci/lib/release/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-ci-lib$(PREFIX)/$(NAME)/ci/lib/test/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence-ci-lib$(PREFIX)/$(NAME)/ci/lib/upload/*.sh
	# packetfence pkg
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/full-import/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/full-import/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/pfconfig/comparator/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/pfconfig/comparator/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/upgrade/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/upgrade/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/watchdog/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/monit/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/monit/monitoring-scripts/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/monit/monitoring-scripts/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/packages/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/dev-helpers/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/hostapd/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/addons/eapol_test/*.sh
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/bin/*
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/bin/cluster/*
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/db/*.pl
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/sbin/*
	chmod 0755 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/containers/*.sh
	dh_fixperms -X$(NAME)/bin -X$(NAME)/sbin -X$(NAME)/addons -X$(PREFIX)/pfconnector-remote
	chmod 2775 $(CURDIR)/debian/packetfence$(PREFIX)/$(NAME)/var/run
	chown root:root $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin/pfcmd
	chmod ug+s $(CURDIR)/debian/packetfence-pfcmd-suid$(PREFIX)/$(NAME)/bin/pfcmd
	#pfconfig
	chmod 0755 $(CURDIR)/debian/packetfence-config$(PREFIX)/$(NAME)/sbin/*
#	dh_perl
	dh_makeshlibs
	dh_installdeb
	dh_shlibdeps
ifeq ($(DIST),jessie)
	dh_gencontrol -- '-Vpacketfence:dist=openssl-blacklist,openssl-blacklist-extra,libapache2-mod-proxy-html,apache2-mpm-prefork'
endif
ifeq ($(DIST),stretch)
	dh_gencontrol -- '-Vpacketfence:dist=libclass-xsaccessor-perl,acl'
endif
ifeq ($(DIST),bullseye)
	dh_gencontrol -- '-Vpacketfence:dist=libclass-xsaccessor-perl,acl'
endif
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure
