#!/usr/bin/make -f

export DH_GOLANG_EXCLUDE := examples/
export DH_GOLANG_INSTALL_EXTRA := datastore/testdata/ storage/testdata/

%:
	dh $@ --buildsystem=golang --with=golang --builddir=$(BUILDDIR)

IPATH := google.golang.org/cloud
NEWIPATH := cloud.google.com/go
BUILDDIR := $(CURDIR)/build

override_dh_auto_configure:
	dh_auto_configure
	# Remove examples.
	rm -vrf $(BUILDDIR)/src/$(IPATH)/examples
	# Remove symlink of already installed package (due to circular dep).
	for path in $(BUILDDIR)/src/$(NEWIPATH) \
	    `dirname $(BUILDDIR)/src/$(NEWIPATH)`; do \
		! test -L $$path || rm -vf $$path; \
	done
	# Duplicate source tree into new namespace, for compatibility during
	# transition.
	mkdir -vp $(BUILDDIR)/src/$(NEWIPATH)
	cp -avT $(BUILDDIR)/src/$(IPATH) $(BUILDDIR)/src/$(NEWIPATH)
	find $(BUILDDIR)/src/$(NEWIPATH) -name \*.go \
	    -exec sed -i 's#\<$(IPATH)\>#$(NEWIPATH)#' {} \;

override_dh_auto_build:
	dh_auto_build
	# Also build the duplicated tree.
	DH_GOPKG=$(NEWIPATH) dh_auto_build

override_dh_auto_test:
	dh_auto_test
	# Also test the duplicated tree.
	DH_GOPKG=$(NEWIPATH) dh_auto_test

override_dh_auto_install:
	dh_auto_install
	# Also install the duplicated tree.
	DH_GOPKG=$(NEWIPATH) dh_auto_install

PKG1 := golang-google-cloud-dev
PKG2 := golang-google-cloud-compute-metadata-dev
PREFIX := usr/share/gocode/src

override_dh_install:
	dh_install
	# Move compute/metadata files into separate package.
	for path in $(IPATH) $(NEWIPATH); do \
	    mkdir -vp debian/$(PKG2)/$(PREFIX)/$$path/internal; \
	    mv -v debian/$(PKG1)/$(PREFIX)/$$path/internal/cloud.go \
		debian/$(PKG2)/$(PREFIX)/$$path/internal; \
	    mv -v debian/$(PKG1)/$(PREFIX)/$$path/compute/ \
		debian/$(PKG2)/$(PREFIX)/$$path; \
	done
