#!/usr/bin/make -f

include /usr/share/openstack-pkg-tools/pkgos.make

%:
	dh $@ --buildsystem=python_distutils --with python3,systemd

override_dh_clean:
	dh_clean
	rm -f debian/congress-common.config debian/congress-common.postinst debian/congress-server.config debian/congress-api.postinst debian/congress-common.postrm
	rm -rf debian/*.upstart debian/*.service debian/*.templates debian/po
	rm -f congress/datalog/CongressLexer.py congress/datalog/CongressParser.py

override_dh_auto_build:
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func congress-common.config
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func congress-common.postinst
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func congress-server.config
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func congress-server.postinst
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_postrm congress-common.postrm
	pkgos-merge-templates congress-server congress endpoint
	pkgos-merge-templates congress-common congress db rabbit ksat

override_dh_auto_clean:
	python3 setup.py clean

override_dh_auto_test:
	echo "Do nothing..."

override_dh_auto_install:
	echo "Do nothing..."

override_dh_install:
	antlr3 congress/datalog/Congress.g
	sed -i '1 s/#.*/# Generated by antlr3/' congress/datalog/CongressParser.py
	sed -i '1 s/#.*/# Generated by antlr3/' congress/datalog/CongressLexer.py
	sed -i 's#\t#        #g' congress/datalog/CongressParser.py
	sixer all -w congress/datalog/CongressParser.py
	set -e ; for pyvers in $(PYTHON3S); do \
		python$$pyvers setup.py install --install-layout=deb --root $(CURDIR)/debian/tmp; \
        done
	rm -rf $(CURDIR)/debian/tmp/usr/lib/python3/dist-packages/congress/datalog/Python*

	rm -rf rm -rf $(CURDIR)/debian/tmp/usr/etc

ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
	pkgos-dh_auto_test --no-py2 'congress\.tests(?!(.*haht\.test_congress_haht\.TestCongressHAHT.*|.*api\.test_driver_model\.TestDriverModel\.test_drivers_list_with_custom_drivers.*|.*api\.test_datasource_model\.TestDatasourceModel\.test_add_datasource_with_custom_driver.*))'
endif

	mkdir -p $(CURDIR)/debian/congress-common/usr/share/congress-common
	PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python3/dist-pacakges oslo-config-generator \
		--output-file $(CURDIR)/debian/congress-common/usr/share/congress-common/congress.conf \
		--wrap-width 79 \
		--namespace congress \
		--namespace oslo.log \
		--namespace oslo.policy \
		--namespace oslo.db \
		--namespace oslo.middleware.cors \
		--namespace oslo.messaging \
		--namespace keystonemiddleware.auth_token
	pkgos-readd-keystone-authtoken-missing-options $(CURDIR)/debian/congress-common/usr/share/congress-common/congress.conf keystone_authtoken congress

	PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python3/dist-pacakges oslopolicy-sample-generator \
		--output-file $(CURDIR)/debian/congress-common/usr/share/congress-common/policy.json \
		--format json \
		--namespace congress

	PYTHONPATH=$(CURDIR)/debian/tmp/usr/lib/python3/dist-pacakges oslo-config-generator \
		--output-file $(CURDIR)/debian/congress-common/usr/share/congress-common/congress-agent.conf \
		--wrap-width 79 \
		--namespace congress-agent \
		--namespace oslo.log \
		--namespace oslo.messaging

	dh_install
	dh_missing --fail-missing

	install -D -m 0644 $(CURDIR)/etc/api-paste.ini $(CURDIR)/debian/congress-common/usr/share/congress-common/api-paste.ini

override_dh_python3:
	dh_python3 --shebang=/usr/bin/python3
