#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
#
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
#
# Modified to make a template file for a multi-binary package with separated
# build-arch and build-indep targets  by Bill Allombert 2001

DEBVERS := $(shell dpkg-parsechangelog | sed -n -e 's/^Version: //p')
VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/^[[:digit:]]*://' -e 's/[~-].*//')
PACKAGE = $(shell dh_listpackages|head -n 1|cut -d '-' -f 1)
SYSCONFDIR = "/etc"
DESTDIR = "debian/tmp"

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

# This has to be exported to make some magic below work.
export DH_OPTIONS

configure: configure-stamp
configure-stamp:
	dh_testdir
	cp packaging/debian/replace.properties replace.properties.tmp
	echo VERSION=${VERSION} >> replace.properties.tmp
	touch configure-stamp

build: build-indep

build-indep: build-indep-stamp

build-indep-stamp: configure
	mvn clean package -Pawsapi -DskipTests -Dsystemvm \
        -Dcs.replace.properties=replace.properties.tmp \
		${ACS_BUILD_OPTS}
	touch $@

clean:
	dh_testdir
	dh_testroot
	rm -f build-arch-stamp build-indep-stamp configure-stamp
	rm -f replace.properties.tmp
	dh_clean

install:
	dh_testdir
	dh_testroot
	dh_prep -s

	# 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)/var/log/$(PACKAGE)/agent
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-agent/plugins
	install -D agent/target/cloud-agent-$(VERSION)-SNAPSHOT.jar $(DESTDIR)/usr/share/$(PACKAGE)-agent/lib/$(PACKAGE)-agent.jar
	install -D plugins/hypervisors/kvm/target/cloud-plugin-hypervisor-kvm-$(VERSION)-SNAPSHOT.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-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 -p $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps7080
	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)-SNAPSHOT/* $(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/cloudstack
	chmod 0440 $(DESTDIR)/$(SYSCONFDIR)/sudoers.d/cloudstack

	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.0.jar $(DESTDIR)/usr/share/$(PACKAGE)-common/lib

	# cloudstack-python
	mkdir -p $(DESTDIR)/usr/lib/python2.7/dist-packages
	cp -r python/lib/cloud* $(DESTDIR)/usr/lib/python2.7/dist-packages

	# 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)-SNAPSHOT.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-awsapi
	mkdir $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/awsapi
	mkdir $(DESTDIR)/var/log/$(PACKAGE)/awsapi
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-bridge
	mkdir -p $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi
	mkdir $(DESTDIR)/usr/share/$(PACKAGE)-bridge/setup
	ln -s /usr/share/$(PACKAGE)-bridge/webapps/awsapi $(DESTDIR)/usr/share/$(PACKAGE)-management/webapps7080/awsapi
	cp -r awsapi/target/cloud-awsapi-$(VERSION)-SNAPSHOT/* $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi
	install -D awsapi-setup/setup/cloud-setup-bridge $(DESTDIR)/usr/bin/cloudstack-setup-bridge
	install -D awsapi-setup/setup/cloudstack-aws-api-register $(DESTDIR)/usr/bin/cloudstack-aws-api-register
	cp -r awsapi-setup/db/mysql/* $(DESTDIR)/usr/share/$(PACKAGE)-bridge/setup
	for i in cloud-bridge.properties commons-logging.properties crypto.properties xes.keystore ec2-service.properties; do \
		mv $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/$$i $(DESTDIR)/$(SYSCONFDIR)/$(PACKAGE)/management/; \
	done
	rm $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/log4j-vmops.xml
	rm $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/log4j.properties
	rm $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/db.properties
	rm $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/LICENSE.txt
	rm $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/NOTICE.txt
	rm $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/services.xml
	rm -rf $(DESTDIR)/usr/share/$(PACKAGE)-bridge/webapps/awsapi/WEB-INF/classes/META-INF

	dh_installdirs
	dh_install
	dh_python2

binary: install
	dh_install
	dh_installchangelogs
	dh_installdocs -A tools/whisker/LICENSE tools/whisker/NOTICE INSTALL.md
	dh_installman
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
	dh_makeshlibs
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb
