#!/usr/bin/make -f
#
export DH_VERBOSE=1
export DEB_BUILD_HARDENING=1
export NJOBS=$(shell grep -c processor /proc/cpuinfo)
export PSM_TARGETS=install-mongod install-mongos install-mongo install-perconadecrypt install-mongobridge
export PSMSRC=$(CURDIR)
export MONGOTOOLS=bsondump mongostat mongofiles mongoexport mongoimport mongorestore mongodump mongotop
export INSTALLDIR=/usr/local
export TOOLS_TAGS=ssl sasl
export PORTABLE=1
export USE_SSE=1
export PATH := /usr/local/go/bin:$(PATH)
CC = /usr/local/gcc-8.3.0/bin/gcc-8.3
CXX = /usr/local/gcc-8.3.0/bin/g++-8.3
#
%:
	dh $@

override_dh_auto_clean:
	dh_auto_clean
	rm -fr $(PSMSRC)/bin
	#rm -fr $(INSTALLDIR)
	buildscripts/scons.py CC=$(CC) CXX=$(CXX) -C $(PSMSRC) -c --disable-warnings-as-errors --audit --release --disable-warnings-as-errors  --ssl --opt -j$(NJOBS) --use-sasl-client CPPPATH=$(INSTALLDIR)/include \
	LIBPATH=$(INSTALLDIR)/lib LINKFLAGS="$(LINKFLAGS)" --wiredtiger --inmemory --hotbackup $(PSM_TARGETS) || exit $?
	rm -fr build resmoke.ini
	find $(PSMSRC) -name '*.pyc' -delete

# Finally PSfMDB
percona-server-mongodb:
	buildscripts/scons.py CC=${CC} CXX=${CXX} --disable-warnings-as-errors --audit --release --disable-warnings-as-errors  --ssl --opt=on -j$(NJOBS) \
	--use-sasl-client --wiredtiger --inmemory --hotbackup \
	CPPPATH=${INSTALLDIR}/include LIBPATH=${INSTALLDIR}/lib LINKFLAGS="${LINKFLAGS}" ${PSM_TARGETS} || exit $?

compile-mongo-tools:
	mkdir $(PSMSRC)/bin || true;
	mkdir -p $(PSMSRC)/../src/github.com/mongodb;
	cp -r $(PSMSRC)/mongo-tools $(PSMSRC)/../src/github.com/mongodb;
	export GOROOT="/usr/local/go/"; \
        export GOPATH=$(PSMSRC)/../; \
        export PATH="/usr/local/go/bin:$(PATH):$(GOPATH)"; \
        export GOBINPATH="/usr/local/go/bin"
	cd $(PSMSRC)/../src/github.com/mongodb/mongo-tools; \
        sed -i '12d' buildscript/build.go; \
        sed -i '167,176d' buildscript/build.go; \
        sed -i "s:versionStr,:\"$(PSMDB_TOOLS_REVISION)\",:" buildscript/build.go; \
        sed -i "s:gitCommit):\"$(PSMDB_TOOLS_COMMIT_HASH)\"):" buildscript/build.go; \
        ./make build;
	cp -av $(PSMSRC)/../src/github.com/mongodb/mongo-tools/bin/* $(PSMSRC)/bin; \
        cd $(PSMSRC);

build: percona-server-mongodb compile-mongo-tools

override_dh_auto_install:
	dh_auto_install
	cp -av build/install/bin/mongos debian/percona-server-mongodb-mongos/usr/bin/mongos
	cp -av build/install/bin/mongo debian/percona-server-mongodb-shell/usr/bin/mongo
	cp -av build/install/bin/mongod debian/percona-server-mongodb-server/usr/bin/mongod
	cp -av build/install/bin/perconadecrypt debian/percona-server-mongodb-server/usr/bin
	cp -av build/install/bin/mongobridge debian/percona-server-mongodb-server/usr/bin/mongobridge
	cp -av debian/percona-server-mongodb-helper.sh debian/percona-server-mongodb-server/usr/bin
	cp -av debian/percona-server-mongodb-enable-auth.sh debian/percona-server-mongodb-server/usr/bin
	cp -av debian/mongod.conf debian/percona-server-mongodb-server/etc/mongod.conf
	cp -av $(PSMSRC)/bin/* debian/percona-server-mongodb-tools/usr/bin

override_dh_strip:
	dh_strip -a --dbg-package=percona-server-mongodb-dbg

override_dh_installinit:
	dh_installinit -a --name=mongod

override_dh_systemd_enable:
	dh_systemd_enable --name=mongod

override_dh_systemd_start:
	dh_systemd_start --restart-after-upgrade
