# Makefile for update and build pyenv debian package #

# Used directories
PYENV_BUILD=./build
PYENV_DISTS=./dists

PYENV_SRC=/opt/pyenv
PYENV_TARGET=$(DESTDIR)/opt/pyenv
# Files wich needs to be removed from debian package
NOT_NEEDED_FILES=.agignore CHANGELOG.md CONDUCT.md .git .gitignore LICENSE \
	Makefile src test .travis.yml .vimrc plugins/.gitignore plugins/*/.git \
	plugins/*/.gitignore plugins/*/test plugins/*/LICENSE versions/*/lib/*/test
# Extract version from control for package name
DOCKER_IMAGE="registry.yandex.net/balance/basic-debuild:14.04"

GPG_DIR=$(PWD)/robot-billing-ci-home/keys/.gnupg
SSH_DIR=$(PWD)/robot-billing-ci-home/keys/.ssh
DUPLOAD_CONF=$(PWD)/robot-billing-ci-home/keys/.dupload.conf


# configure build dir
fake:
	echo 'pass'

install: $(PYENV_SRC)
	`# move pyenv directory to PYENV_TARGET`
	mkdir -p `dirname $(PYENV_TARGET)`
	cp -R $(PYENV_SRC) $(PYENV_TARGET)
	cd $(PYENV_TARGET) && rm -Rf $(NOT_NEEDED_FILES)
	`# users from pyenv group can write to those directories`
	mkdir -p -m 775 $(PYENV_TARGET)/cache
	mkdir -p -m 775 $(PYENV_TARGET)/shims
	mkdir -p -m 775 $(PYENV_TARGET)/versions

docker-clean-build-upload: $(GPG_DIR) $(SSH_DIR) $(DUPLOAD_CONF)
	rm -rf tmp
	docker run --rm -ti \
	    -e USER=robot-billing-ci \
        -v $(PWD)/tmp/home/robot-billing-ci:/home/robot-billing-ci \
	    -v $(GPG_DIR):/home/robot-billing-ci/.gnupg_ \
	    -v $(SSH_DIR):/home/robot-billing-ci/.ssh_ \
	    -v $(DUPLOAD_CONF):/home/robot-billing-ci/.dupload.conf \
	    -v $(PWD)/Makefile:/home/robot-billing-ci/build_/Makefile \
	    -v $(PWD)/debian:/home/robot-billing-ci/build_/debian \
		-v $(PWD)/Makefile:/home/robot-billing-ci/Makefile \
		-w /home/robot-billing-ci \
	    $(DOCKER_IMAGE) \
	    make dockerize-setup clean build upload

dockerize-setup:
	cd /home/robot-billing-ci/ \
	    && cp -r .ssh_ .ssh \
		&& cp -r .gnupg_ .gnupg \
		&& chmod 0700 .ssh .gnupg \
		&& chmod 0600 .ssh/* .gnupg/*

clean:
	rm -Rf $(PYENV_BUILD) $(PYENV_DISTS)

build:
	`# copy sources to build directory`
	cp -r build_ $(PYENV_BUILD)
	`# run debuild`
	cd $(PYENV_BUILD) && debuild --no-lintian --no-tgz-check -I -b
	mkdir $(PYENV_DISTS)
	mv pyenv_* $(PYENV_DISTS)/

upload: $(PYENV_DISTS)
	dupload $(PYENV_DISTS)/*.changes --nomail --to yandex-trusty

