#!/usr/bin/make -f

include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/rules/patchsys-quilt.mk
include /usr/share/cdbs/1/class/autotools.mk

EUCALYPTUS=/
JAVA_HOME=/usr/lib/jvm/default-java
AXIS2_CLASSPATH=$(shell echo /usr/share/eucalyptus/*.jar | tr \  :)
# The GWT compile doesn't like to run with a $DISPLAY that it can't reach.

unexport DISPLAY
export EUCALYPTUS
export JAVA_HOME
export AXIS2_CLASSPATH

DEB_CONFIGURE_EXTRA_FLAGS := --with-axis2=/usr/share/eucalyptus --with-axis2c=/usr/lib/axis2 --prefix=$(EUCALYPTUS) --with-interface-theme=ubuntu --enable-appliance-store

makebuilddir/eucalyptus-common:: setup-libs

setup-libs:
	if md5sum -c debian/wsdl.md5sums; then \
		echo "SUCCESS: WSDL stubs are valid."; \
	else \
		echo "ERROR: WSDL stubs must be updated!"; \
		echo "HINT: ./debian/wsdl_generator"; \
		exit 1; \
	fi
	cd clc && mkdir -p lib && \
		for jar in `cat ../debian/build-jars`; do \
			ln -fsv $$jar lib; done
	touch setup-libs

build/eucalyptus-udeb::
	$(MAKE) -C debian/local

build/uec-component-listener::
	$(MAKE) -C debian/registration

clean::
	$(MAKE) -C debian/local clean
	$(MAKE) -C debian/registration clean

install/eucalyptus-common::
	cp -f extras/ganglia.sh extras/euca_
	rm -f $(DEB_DESTDIR)/etc/init.d/eucalyptus

install/eucalyptus-udeb::
	install -D debian/eucalyptus-udeb.finish-install \
		$(DEB_DESTDIR)/usr/lib/finish-install.d/60eucalyptus-udeb

binary-install/eucalyptus-nc::
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus-nc
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus-nc-publication

binary-install/eucalyptus-common::
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus-network
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus

binary-install/eucalyptus-admin-tools::
	dh_python2

binary-install/eucalyptus-cc::
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus-cc-publication

binary-install/eucalyptus-cloud::
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus-cloud-publication

binary-install/eucalyptus-walrus::
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus-walrus-publication

binary-install/eucalyptus-sc::
	dh_installinit -p$(cdbs_curpkg) --name=eucalyptus-sc-publication

binary-install/eucalyptus-java-common::
	# This hack moves (and backlinks) some "conffiles" which are really scripts out of /etc, and into /usr/lib,
	# such that they're installed by the time eucalyptus-common.postinst runs
	mkdir -p debian/eucalyptus-java-common/usr/lib/eucalyptus/cloud.d
	mv debian/eucalyptus-java-common/etc/eucalyptus/cloud.d/scripts/ debian/eucalyptus-java-common/usr/lib/eucalyptus/cloud.d/
	ln -s ../../../usr/lib/eucalyptus/cloud.d/scripts debian/eucalyptus-java-common/etc/eucalyptus/cloud.d/scripts

binary-post-install/eucalyptus-cc::
	chmod 755 debian/$(cdbs_curpkg)/usr/share/eucalyptus/registration/*

binary-post-install/eucalyptus-cloud::
	chmod 755 debian/$(cdbs_curpkg)/usr/share/eucalyptus/registration/*

clean::
	rm -rf clc/lib setup-libs clc/modules/msgs/src/main/resources/msgs-binding.xml clc/modules/storage-controller/lib/liblvm2control.so clc/modules/storage-manager/lib/libfsstorage.so clc/modules/www/webapps/root.war node/test_nc node/test config.status clc/modules/storage-controller/include/edu_ucsb_eucalyptus_storage_LVM2Manager.h clc/modules/storage-controller/include/edu_ucsb_eucalyptus_storage_AOEManager.h clc/modules/storage-manager/include/edu_ucsb_eucalyptus_storage_fs_FileSystemStorageManager.h cluster/cc-client-policy.xml node/nc-client-policy.xml util/config.h config.log Makedefs clc/modules/bootstrap/eucalyptus-bootstrap.o clc/modules/bootstrap/eucalyptus-opts.o clc/modules/bootstrap/eucalyptus-cloud tools/eucalyptus-nc tools/eucalyptus-java-ws tools/eucalyptus-cc tools/euca_conf util/eucalyptus-config.h extras/euca_

