#!/usr/bin/make -f

#export DH_VERBOSE=1

include /usr/share/openstack-pkg-tools/pkgos.make
export OSLO_PACKAGE_VERSION=$(VERSION)

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

# clean sphinx build output
override_dh_clean:
	dh_clean
	rm -f debian/*.upstart
	rm -f debian/*.init
	rm -f debian/*.service
	rm -f $(CURDIR)/swift-test.conf

# build with sphinx documentation
override_dh_sphinxdoc:
	dh_auto_build
	PYTHONPATH=. sphinx-build doc/source $(CURDIR)/debian/swift-doc/usr/share/doc/swift-doc/html
	#python setup.py build_sphinx
	dh_sphinxdoc -O--buildsystem=python_distutils

ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
override_dh_auto_test:
	echo "[unit_test]\nfake_syslog = True" > $(CURDIR)/swift-test.conf
	SWIFT_TEST_CONFIG_FILE=$(CURDIR)/swift-test.conf PYTHONPATH=. nosetests -v test/unit --exe \
		--exclude-test=test.unit.common.test_utils.TestUtils.test_get_logger_sysloghandler_plumbing
	rm -f $(CURDIR)/swift-test.conf
endif

override_dh_install:
	# rm debian/tmp/usr/bin/swift-init

	# # Create the init scripts and systemd unit files from the template
	# for i in `ls -1 debian/*.init.in` ; do \
	# 	MYINIT=`echo $$i | sed s/.init.in//` ; \
	# 	cp $$i $$MYINIT.init ; \
	# 	cat debian/init-script-template >>$$MYINIT.init ; \
	# 	debian/gen-systemd-unit $$i ; \
	# done

	dh_install --fail-missing
	rm -rf debian/python-swift/usr/lib/python*/dist-packages/test

	# Install default config files
	install -D -m 0644 $(CURDIR)/etc/dispersion.conf-sample			$(CURDIR)/debian/swift/etc/swift/dispersion.conf
	install -D -m 0644 $(CURDIR)/etc/swift.conf-sample			$(CURDIR)/debian/swift/etc/swift/swift.conf
	install -D -m 0644 $(CURDIR)/etc/container-sync-realms.conf-sample	$(CURDIR)/debian/swift/etc/swift/container-sync-realms.conf
	install -D -m 0644 $(CURDIR)/etc/account-server.conf-sample		$(CURDIR)/debian/swift-account/etc/swift/account-server.conf
	install -D -m 0644 $(CURDIR)/etc/container-server.conf-sample		$(CURDIR)/debian/swift-container/etc/swift/container-server.conf
	install -D -m 0644 $(CURDIR)/etc/internal-client.conf-sample		$(CURDIR)/debian/swift-container/etc/swift/internal-client.conf
	install -D -m 0644 $(CURDIR)/etc/container-reconciler.conf-sample	$(CURDIR)/debian/swift-container/etc/swift/container-reconciler.conf
	install -D -m 0644 $(CURDIR)/etc/drive-audit.conf-sample		$(CURDIR)/debian/swift-drive-audit/etc/swift/drive-audit.conf
	install -D -m 0644 $(CURDIR)/etc/memcache.conf-sample			$(CURDIR)/debian/swift-proxy/etc/swift/memcache.conf
	install -D -m 0644 $(CURDIR)/etc/mime.types-sample			$(CURDIR)/debian/swift-proxy/etc/swift/mime.types
	install -D -m 0644 $(CURDIR)/etc/proxy-server.conf-sample		$(CURDIR)/debian/swift-proxy/etc/swift/proxy-server.conf
	install -D -m 0644 $(CURDIR)/etc/object-expirer.conf-sample		$(CURDIR)/debian/swift-object-expirer/etc/swift/object-expirer.conf
	install -D -m 0644 $(CURDIR)/etc/object-server.conf-sample		$(CURDIR)/debian/swift-object/etc/swift/object-server.conf

gen-init-configurations:
	# # Create the init scripts and systemd unit files from the template
	# for i in `ls -1 debian/*.init.in` ; do \
	# 	MYINIT=`echo $$i | sed s/.init.in//` ; \
	# 	cp $$i $$MYINIT.init ; \
	# 	cat debian/init-script-template >>$$MYINIT.init ; \
	# 	debian/gen-systemd-unit $$i ; \
	# done
	# # TODO: Upstart
	if dpkg-vendor --derives-from ubuntu ; then \
	for i in `ls -1 debian/*.upstart.in` ; do \
	    MYPKG=`echo $$i | sed s/.upstart.in//` ; \
	    cp $$MYPKG.upstart.in $$MYPKG.upstart ; \
	    done ; \
	fi


override_dh_systemd_enable: gen-init-configurations
	echo "Do nothing"

override_dh_systemd_start:
	echo "Do nothing"

override_dh_installinit: gen-init-configurations
	# set -e ; set -x ; for i in `ls -1 debian/*.init.in` ; do \
	# 	MYINIT=`echo $$i | sed -e s/.init.in// -e s:debian/::` ; \
	# 	INITPKG=`echo $$MYINIT | cut -d. -f1` ; \
	# 	INITNAME=`echo $$MYINIT | cut -d. -f2` ; \
	# 	echo "Package: $$INITPKG Init: $$INITNAME" ; \
	# 	case $$INITNAME in \
	# 	swift-object-expirer) \
	# 		dh_installinit --no-start -p$$INITPKG --name=$$INITNAME ;; \
	# 	*) \
	# 		dh_installinit --no-start -p$$INITPKG --name=$$INITNAME ; \
	# 		cp debian/$$INITPKG.$$INITNAME@.service debian/$$INITPKG/lib/systemd/system/$$INITNAME@.service ;; \
	# 	esac ; \
	# 	dh_systemd_enable -p$$INITPKG --name=$$INITNAME ; \
	# 	dh_systemd_start -p$$INITPKG --name=$$INITNAME ; \
	# done
	set -e ; set -x ; for i in `ls -1 debian/*.upstart.in` ; do \
	    MYINIT=`echo $$i | sed -e s/.init.in// -e s:debian/::` ; \
	    INITPKG=`echo $$MYINIT | cut -d. -f1` ; \
	    INITNAME=`echo $$MYINIT | cut -d. -f2` ; \
	    [ "$$INITNAME" = upstart ] && unset INITNAME ; \
	    echo "Package: $$INITPKG Init: $$INITNAME" ; \
	    dh_installinit --no-start -p$$INITPKG $${INITNAME:+ --name=$$INITNAME} ; \
	done
