#!/usr/bin/make -f

PYTHONS:=$(shell pyversions -vr)
PYTHON3S:=$(shell py3versions -vr)

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

export OSLO_PACKAGE_VERSION=$(shell dpkg-parsechangelog | grep Version: | cut -d' ' -f2 | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/~/.0/' -e 's/+dfsg1//' | head -n 1)

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

override_dh_clean:
	rm -rf build .testr.conf
	dh_clean -O--buildsystem=python_distutils
	rm -f debian/*.init debian/*.upstart debian/*.service

override_dh_auto_install:
	set -e ; for pyvers in $(PYTHONS); do \
		python$$pyvers setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/python-fuel-agent; \
	done
	set -e ; for pyvers in $(PYTHON3S); do \
		python$$pyvers setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/python3-fuel-agent; \
	done

	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/fa_bootloader $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_bootloader
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/fa_bootloader $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_bootloader
	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/fa_build_image $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_build_image
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/fa_build_image $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_build_image
	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/fa_configdrive $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_configdrive
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/fa_configdrive $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_configdrive
	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/fa_copyimage $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_copyimage
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/fa_copyimage $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_copyimage
	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/fa_ironic_callback $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_ironic_callback
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/fa_ironic_callback $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_ironic_callback
	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/fa_mkbootstrap $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_mkbootstrap
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/fa_mkbootstrap $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_mkbootstrap
	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/fa_partition $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_partition
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/fa_partition $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_partition
	mv $(CURDIR)/debian/python-fuel-agent/usr/bin/provision $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-provision
	mv $(CURDIR)/debian/python3-fuel-agent/usr/bin/provision $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-provision


	set -e ; set -x ; cd contrib/ironic/ironic-fa-deploy ; for pyvers in $(PYTHONS) ; do \
		python$$pyvers ./setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/python-ironic-fa-deploy ; \
	done
	set -e ; set -x ; cd contrib/ironic/ironic-fa-deploy ; for pyvers in $(PYTHON3S) ; do \
		python$$pyvers ./setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/python3-ironic-fa-deploy ; \
	done

	set -e ; set -x ; cd contrib/fuel_bootstrap/fuel_bootstrap_cli ; for pyvers in $(PYTHONS) ; do \
		python$$pyvers ./setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/python-fuel-bootstrap-cli ; \
	done

	set -e ; set -x ; cd contrib/fuel_bootstrap/fuel_bootstrap_cli ; for pyvers in $(PYTHON3S) ; do \
		python$$pyvers ./setup.py install --install-layout=deb \
			--root $(CURDIR)/debian/python3-fuel-bootstrap-cli ; \
	done
	mkdir -p $(CURDIR)/debian/python3-fuel-bootstrap-cli/usr/bin
	cp contrib/fuel_bootstrap/files/trusty/usr/bin/fix-configs-on-startup $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_fix-configs-on-startup
	cp contrib/fuel_bootstrap/files/trusty/usr/bin/fix-configs-on-startup $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_fix-configs-on-startup

	mv $(CURDIR)/debian/python-fuel-bootstrap-cli/usr/bin/fuel-bootstrap $(CURDIR)/debian/python-fuel-bootstrap-cli/usr/bin/python2-fuel-bootstrap
	mv $(CURDIR)/debian/python3-fuel-bootstrap-cli/usr/bin/fuel-bootstrap $(CURDIR)/debian/python3-fuel-bootstrap-cli/usr/bin/python3-fuel-bootstrap

	cp contrib/fuel_bootstrap/files/trusty/usr/bin/send2syslog.py $(CURDIR)/debian/python-fuel-agent/usr/bin/python2-fa_send2syslog
	cp contrib/fuel_bootstrap/files/trusty/usr/bin/send2syslog.py $(CURDIR)/debian/python3-fuel-agent/usr/bin/python3-fa_send2syslog

override_dh_fixperms:
	dh_fixperms
	chmod -x $(CURDIR)/debian/fuel-agent/lib/udev/rules.d/80-net-name-slot.rules

override_dh_auto_test:
ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
	echo "===> Running tests"
	set -e ; set -x ; for i in 2.7 $(PYTHON3S) ; do \
		PYMAJOR=`echo $$i | cut -d'.' -f1` ; \
		echo "===> Testing with python$$i (python$$PYMAJOR)" ; \
		PYTHONPATH=. PYTHON=python$$i python$$i -m pytest fuel_agent/tests || true ; \
	done
endif
#		cp debian/testr.conf ./.testr.conf
#		PYMAJOR=$${i%%.*}; \
#		echo "===> Testing with python$$i (python$$PYMAJOR)" ; \
#		rm -rf .testrepository ; \
#		testr init ; \
#		TEMP_REZ=`mktemp -t` ; \
#		PYTHONPATH=$(CURDIR) PYTHON=python$$i testr run --subunit 'tests\.(?!.*OptsTestCase.test_entry_point.*)' | tee $$TEMP_REZ | subunit2pyunit ; \
#		cat $$TEMP_REZ | subunit-filter -s --no-passthrough | subunit-stats ; \
#		rm -f $$TEMP_REZ ; \
#		testr slowest ; \
#		rm ./.testr.conf ; \

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

override_dh_installcatalogs:
override_dh_installemacsen override_dh_installifupdown:
override_dh_installinfo override_dh_installmenu override_dh_installmime:
override_dh_installmodules override_dh_installlogcheck:
override_dh_installpam override_dh_installppp override_dh_installudev override_dh_installwm:
override_dh_installxfonts override_dh_gconf override_dh_icons override_dh_perl override_dh_usrlocal:
override_dh_installgsettings:
