#!/usr/bin/make -f
# -*- makefile -*-
VERSION := $(shell grep '^  <version>' pom.xml| cut -d'>' -f2 |cut -d'<' -f1)
PACKAGE = $(shell dh_listpackages|head -n 1|cut -d '-' -f 1)
SYSCONFDIR = "/etc"
DESTDIR = "debian/tmp"

%:
	dh $@ --with python2

override_dh_auto_configure:
	cp packaging/debian/replace.properties replace.properties.tmp
	echo VERSION=${VERSION} >> replace.properties.tmp

override_dh_auto_build:
	mvn -T C1.5 clean package -Psystemvm,developer -Dsystemvm \
	    -Dcs.replace.properties=replace.properties.tmp \
	    -Dmaven.repo.local=$(HOME)/.m2/repository \
	     ${ACS_BUILD_OPTS}

override_dh_auto_clean:
	dh_auto_clean
	rm -f replace.properties.tmp

override_dh_auto_install:
	# Common packages
	mkdir -p $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)
	mkdir -p $(DESTDIR)/$(SYSCONFDIR)/init.d
	mkdir -p $(DESTDIR)/var/cache/$(PACKAGE)
	mkdir -p $(DESTDIR)/var/log/$(PACKAGE)
	mkdir -p $(DESTDIR)/var/lib/$(PACKAGE)
	mkdir -p $(DESTDIR)/usr/bin
	mkdir -p $(DESTDIR)/usr/share

	# cloudstack-agent
	mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent
	mkdir $(DESTDIR)/$(SYSCONFDIR)/profile.d
	mkdir $(DESTDIR)/var/log/$(PACKAGE)/agent
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent/plugins
	install -D agent/target/cloud-agent-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/$(PACKAGE)-agent.jar
	install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
	install -D plugins/hypervisors/kvm/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
	install -D packaging/debian/init/cloud-agent $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-agent
	install -D agent/target/transformed/cloud-setup-agent $(DESTDIR)/usr/bin/cloudstack-setup-agent
	install -D agent/target/transformed/cloud-ssh $(DESTDIR)/usr/bin/cloudstack-ssh
	install -D agent/target/transformed/cloudstack-agent-profile.sh $(DESTDIR)/$(SYSCONFDIR)/profile.d/cloudstack-agent-profile.sh
	install -D agent/target/transformed/cloudstack-agent.logrotate $(DESTDIR)/$(SYSCONFDIR)/logrotate.d/cloudstack-agent
	install -D agent/target/transformed/cloudstack-agent-upgrade $(DESTDIR)/usr/bin/cloudstack-agent-upgrade
	install -D agent/target/transformed/libvirtqemuhook $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/
	install -D agent/target/transformed/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/agent

	# cloudstack-management
	mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server
	mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management
	mkdir -p $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/
	mkdir -p $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/
	mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management
	mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-management/setup
	mkdir $(DESTDIR)/var/log/$(PACKAGE)/management
	mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management
	mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/work
	mkdir $(DESTDIR)/var/cache/$(PACKAGE)/management/temp
	mkdir $(DESTDIR)/var/log/$(PACKAGE)/ipallocator
	mkdir $(DESTDIR)/var/lib/$(PACKAGE)/management
	mkdir $(DESTDIR)/var/lib/$(PACKAGE)/mnt
	cp -r client/target/utilities/scripts/db/* $(DESTDIR)/usr/share/$(PACKAGE)-management/setup/
	cp -r client/target/cloud-client-ui-$(VERSION)/* $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/
	cp server/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/
	cp client/target/conf/* $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/

	# nast hack for a couple of configuration files
	mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-limits.conf $(DESTDIR)/$(SYSCONFDIR)/security/limits.d/
	mv $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/server/cloudstack-sudoers $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/$(PACKAGE)
	chmod 0440 $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/$(PACKAGE)

	ln -s tomcat6-nonssl.conf $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/tomcat6.conf
	ln -s server-nonssl.xml $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/server.xml
	install -D packaging/debian/init/cloud-management $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-management
	install -D client/target/utilities/bin/cloud-update-xenserver-licenses $(DESTDIR)/usr/bin/cloudstack-update-xenserver-licenses
	ln -s /usr/share/tomcat6/bin $(DESTDIR)/usr/share/$(PACKAGE)-management/bin
	# Remove configuration in /ur/share/cloudstack-management/webapps/client/WEB-INF
	# This should all be in /etc/cloudstack/management
	rm $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps/client/WEB-INF/classes/*.*
	ln -s ../../..$(SYSCONFDIR)/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/conf
	ln -s ../../../usr/share/tomcat6/lib $(DESTDIR)/usr/share/$(PACKAGE)-management/lib
	ln -s ../../../var/log/$(PACKAGE)/management $(DESTDIR)/usr/share/$(PACKAGE)-management/logs
	ln -s ../../../var/cache/$(PACKAGE)/management/temp $(DESTDIR)/usr/share/$(PACKAGE)-management/temp
	ln -s ../../../var/cache/$(PACKAGE)/management/work $(DESTDIR)/usr/share/$(PACKAGE)-management/work

	# cloudstack-common
	mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-common
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/setup
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-common/lib
	cp -r scripts/installer $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
	cp -r scripts/network $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
	cp -r scripts/storage $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
	cp -r scripts/util $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
	cp -r scripts/vm $(DESTDIR)/usr/share/$(PACKAGE)-common/scripts
	install -D client/target/utilities/bin/cloud-migrate-databases $(DESTDIR)/usr/bin/cloudstack-migrate-databases
	install -D client/target/utilities/bin/cloud-set-guest-password $(DESTDIR)/usr/bin/cloudstack-set-guest-password
	install -D client/target/utilities/bin/cloud-set-guest-sshkey $(DESTDIR)/usr/bin/cloudstack-set-guest-sshkey
	install -D client/target/utilities/bin/cloud-setup-databases $(DESTDIR)/usr/bin/cloudstack-setup-databases
	install -D client/target/utilities/bin/cloud-setup-management $(DESTDIR)/usr/bin/cloudstack-setup-management
	install -D client/target/utilities/bin/cloud-setup-encryption $(DESTDIR)/usr/bin/cloudstack-setup-encryption
	install -D client/target/utilities/bin/cloud-sysvmadm $(DESTDIR)/usr/bin/cloudstack-sysvmadm
	install -D systemvm/dist/systemvm.iso $(DESTDIR)/usr/share/$(PACKAGE)-common/vms/systemvm.iso
	# We need jasypt for cloud-install-sys-tmplt, so this is a nasty hack to get it into the right place
	install -D agent/target/dependencies/jasypt-1.9.2.jar $(DESTDIR)/usr/share/$(PACKAGE)-common/lib

	# cloudstack-python
	mkdir -p $(DESTDIR)/usr/share/pyshared
	cp -r python/lib/cloud* $(DESTDIR)/usr/share/pyshared

	# cloudstack-usage
	mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage
	mkdir $(DESTDIR)/var/log/$(PACKAGE)/usage
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-usage/plugins
	install -D usage/target/cloud-usage-$(VERSION).jar $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/$(PACKAGE)-usage.jar
	install -D usage/target/dependencies/* $(DESTDIR)/usr/share/$(PACKAGE)-usage/lib/
	cp usage/target/transformed/db.properties $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/
	cp usage/target/transformed/log4j-cloud_usage.xml $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/usage/log4j-cloud.xml
	install -D packaging/debian/init/cloud-usage $(DESTDIR)/$(SYSCONFDIR)/init.d/$(PACKAGE)-usage

	# cloudstack-marvin
	mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-marvin
	cp tools/marvin/dist/Marvin-*.tar.gz $(DESTDIR)/usr/share/$(PACKAGE)-marvin/

	# cloudstack-integration-tests
	mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-integration-tests
	cp -r test/integration/* $(DESTDIR)/usr/share/$(PACKAGE)-integration-tests/

override_dh_installinit:
	dh_installinit -pcloudstack-management -pcloudstack-agent -pcloudstack-usage --onlyscripts --no-start

override_dh_installdocs:
	dh_installdocs -A tools/whisker/LICENSE tools/whisker/NOTICE INSTALL.md
