#!/usr/bin/make -f

# Don't forget to modify debian/control as well
MYSQL=5.5

# Hardening
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/buildflags.mk

# Compile with jemalloc for better memory usage
LDFLAGS += -ljemalloc

%:
	dh $@ --with autoreconf

override_dh_auto_configure:
	# MySQL sources
	mkdir -p debian/mysql-source
	tar -zxf /usr/src/mysql/mysql-source-$(MYSQL).tar.gz -C debian/mysql-source
	cp -a debian/mysql-source/mysql-$(MYSQL)/builddir/* debian/mysql-source/mysql-$(MYSQL)/.
	# Save protobuf generated files
	mkdir -p debian/backup
	mv src/pinba-pb.* debian/backup
	# Run regular dh_auto_configure
	dh_auto_configure -- \
		--with-mysql=$(CURDIR)/debian/mysql-source/mysql-$(MYSQL) \
		--libdir=/

override_dh_install:
	dh_install
	# Install MySQL engine into the right directory. Get rid of unwanted files
	chrpath -d debian/pinba-engine-mysql-$(MYSQL)/libpinba_engine.so.0.0.0
	install -m 0755 -D debian/pinba-engine-mysql-$(MYSQL)/libpinba_engine.so.0.0.0 \
		debian/pinba-engine-mysql-$(MYSQL)/$(shell mysql_config --plugindir)/libpinba_engine.so
	rm debian/pinba-engine-mysql-$(MYSQL)/libpinba*
	# Handle dbconfig-common stuff
	for script in config postinst prerm postrm; do \
		sed -e 's/@MYSQL@/$(MYSQL)/g' -e "s/@SCRIPT@/$$script/g" debian/maintscript.template > debian/$$script ; \
	done
	install -m 0644 -D default_tables.sql \
		debian/pinba-engine-mysql-$(MYSQL)/usr/share/dbconfig-common/data/pinba-engine-mysql-$(MYSQL)/install/mysql
	install -m 0644 -D debian/install-dbadmin \
		debian/pinba-engine-mysql-$(MYSQL)/usr/share/dbconfig-common/data/pinba-engine-mysql-$(MYSQL)/install-dbadmin/mysql

override_dh_clean:
	rm -rf debian/mysql-source
	-mv debian/backup/pinba-pb.* src/. 2> /dev/null
	rm -rf debian/backup
	dh_clean

override_dh_makeshlibs:
	dh_makeshlibs -n

override_dh_gencontrol:
	# We want a strict dependency on the MySQL version we used to compile
	$(eval current_mysql_version:=$(shell sed -n 's/^#define PACKAGE_VERSION "\(.*\)"$$/\1/p' debian/mysql-source/mysql-$(MYSQL)/include/config.h))
	$(eval next_mysql_version:=$(shell echo $(current_mysql_version) | awk -F. -v OFS=. '{$$NF=sprintf("%d", $$NF+1); print}'))
	dh_gencontrol -- -Vmysql:Depends="mysql-server-core-$(MYSQL) (> $(current_mysql_version)), mysql-server-core-$(MYSQL) (<< $(next_mysql_version))" 
