#!/usr/bin/make -f

export PYBUILD_NAME=ironic_inspector

UPSTREAM_GIT = https://github.com/openstack/ironic-inspector.git

DEBVERS ?= $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p')
VERSION ?= $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[-].*//' -e 's/[+].*//' -e 's/~git.*//g' -e 's/~/./g')
export PBR_VERSION=$(VERSION)

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

%:
	dh $@ --buildsystem=pybuild --with python3

override_dh_auto_clean:
	python3 setup.py clean

override_dh_clean:
	dh_clean
	rm -rf build debian/ironic-inspector.postinst debian/ironic-inspector.config debian/ironic-inspector.postrm
	rm -rf debian/*.upstart debian/*.service debian/*.init

override_dh_auto_build:
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func ironic-inspector.config
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_func ironic-inspector.postinst
	/usr/share/openstack-pkg-tools/pkgos_insert_include pkgos_postrm ironic-inspector.postrm
	pkgos-merge-templates ironic-inspector ironic-inspector db ksat endpoint

ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
override_dh_auto_test:
	PYTHONPATH=$(CURDIR) pkgos-dh_auto_test --no-py2 --exclude-list $(CURDIR)/debian/exclude-list.txt "ironic_inspector.test.unit.*"
endif


override_dh_auto_install:
	echo "Do nothing..."

override_dh_install:
	pkgos-dh_auto_install --no-py2

	mkdir -p $(CURDIR)/debian/ironic-inspector/usr/share/ironic-inspector
	PYTHONPATH=$(CURDIR)/debian/python3-ironic-inspector/usr/lib/python3/dist-packages oslo-config-generator \
		--output-file $(CURDIR)/debian/ironic-inspector/usr/share/ironic-inspector/inspector.conf \
		--namespace ironic_inspector \
		--namespace keystonemiddleware.auth_token \
		--namespace oslo.db \
		--namespace oslo.log \
		--namespace oslo.middleware.cors
	pkgos-readd-keystone-authtoken-missing-options $(CURDIR)/debian/ironic-inspector/usr/share/ironic-inspector/inspector.conf keystone_authtoken ironic-inspector

	PYTHONPATH=$(CURDIR)/debian/python3-ironic-inspector/usr/lib/python3/dist-packages oslopolicy-sample-generator \
		--output-file $(CURDIR)/debian/ironic-inspector/usr/share/ironic-inspector/policy.json \
		--format json \
		--namespace ironic_inspector.api

	sed -i 's|^[ \t#]*connection[ \t]=.*|connection = sqlite:////var/lib/ironic-inspector/inspectordb|' $(CURDIR)/debian/ironic-inspector/usr/share/ironic-inspector/inspector.conf
	install -D -m 0644 rootwrap.conf $(CURDIR)/debian/ironic-inspector/etc/ironic-inspector/rootwrap.conf
	install -D -m 0644 rootwrap.d/ironic-inspector.filters $(CURDIR)/debian/ironic-inspector/etc/ironic-inspector/rootwrap.d/ironic-inspector.filters
	install -D -m 0644 $(CURDIR)/debian/ironic-inspector.sudoers $(CURDIR)/debian/ironic-inspector/etc/sudoers.d/ironic-inspector
	sed -i 's|stack|ironic-inspector|' $(CURDIR)/debian/ironic-inspector/etc/sudoers.d/ironic-inspector

	dh_install
	dh_missing --fail-missing

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

# Commands not to run
override_dh_installcatalogs:
override_dh_installemacsen override_dh_installifupdown:
override_dh_installinfo override_dh_installmenu override_dh_installmime:
override_dh_installmodules:
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_installlogrotate override_dh_installgsettings:
