#! /usr/bin/make -f

export DH_VERBOSE=1

MAKEOPTS = CONFIG=debian/Makefile.config INSTALL_PLUGINS="auto manual snmpauto contrib"

%:
	# --no-parallel was introduced with debhelper compat level 10
	# (else it would fail to build) - this will probably also
	# "fix"  #839233
	dh $@ --with systemd --no-parallel

override_dh_auto_build:
	# ./getversion reads RELEASE if it exists
	dpkg-parsechangelog | sed -n 's/^Version: //p' > RELEASE
	chmod 755 debian/ostype_helper
	dh_auto_build -- $(MAKEOPTS)

override_dh_auto_install:
	# Install the major munin parts into different packages
	$(MAKE) install-common-prime $(MAKEOPTS) \
		MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
		DESTDIR=$(CURDIR)/debian/munin-common

	$(MAKE) install-async-prime $(MAKEOPTS) \
		MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
		DESTDIR=$(CURDIR)/debian/munin-async

	$(MAKE) install-master-prime $(MAKEOPTS) \
		MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
		DESTDIR=$(CURDIR)/debian/munin

	$(MAKE) install-node-prime $(MAKEOPTS) \
		MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
		DESTDIR=$(CURDIR)/debian/munin-node

	# workaround bug in upstream Makefile
	mkdir -p $(CURDIR)/debian/munin-async/var/lib
	mv $(CURDIR)/debian/munin-node/var/lib/munin-async $(CURDIR)/debian/munin-async/var/lib/munin-async

	$(MAKE) install-plugins-prime $(MAKEOPTS) \
		MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
		DESTDIR=$(CURDIR)/debian/munin-plugins-core

	$(MAKE) install-plugins-java $(MAKEOPTS) \
		MANDIR=$(CURDIR)/debian/munin-doc/usr/share/man \
		DESTDIR=$(CURDIR)/debian/munin-plugins-java

	# Install apache configuration
	install -D -m0644 debian/munin.apache.conf \
		$(CURDIR)/debian/munin/etc/munin/apache.conf

	# Install apache 2.4 configuration
	install -D -m0644 debian/munin.apache24.conf \
		$(CURDIR)/debian/munin/etc/munin/apache24.conf

	# Remove default .htaccess file from installation, as we include it
	# in the default apache2/conf.d/munin configuration
	rm -v $(CURDIR)/debian/munin/var/cache/munin/www/.htaccess

	# Remove bundled VeraMono.ttf, debian gets this font from 
	# the fonts-dejavu-core package. http://bugs.debian.org/548508
	rm -v $(CURDIR)/debian/munin/usr/share/munin/DejaVuSans*.ttf

	# Munin::Plugins & plugins.sh go into munin-common.
	# They are used for munin-plugins-* and we don't want a whole 
	# dedicated new package (munin-plugins-common) for that. yet.
	for file in usr/share/perl5/Munin/Plugin.pm usr/share/munin/plugins/plugin.sh; do \
		mkdir -p $(CURDIR)/debian/munin-common/$$(dirname $$file) ;\
		mv $(CURDIR)/debian/munin-plugins-core/$$file \
			$(CURDIR)/debian/munin-common/$$file; \
	done

	# Install debian provided plugin configuration
	install -D -m0644 debian/plugins.conf \
		$(CURDIR)/debian/munin-node/etc/munin/plugin-conf.d/munin-node

	# Move plugins not marked "auto" "manual" or "snmpauto" to the
	# "munin-plugins-extra" package.
	mkdir -p $(CURDIR)/debian/munin-plugins-extra/usr/share/munin/plugins
	for file in $$(find debian/munin-plugins-core/usr/share/munin/plugins -type f \
		-not -name plugins.history -and -not -name plugins.sh); do \
		if ! grep -q "#%# family=\(auto\|manual\|snmpauto\)" $$file ; then \
			mv -v $$file $(CURDIR)/debian/munin-plugins-extra/usr/share/munin/plugins; \
		fi; \
	done

	rmdir $(CURDIR)/debian/munin/var/run/munin
	rmdir $(CURDIR)/debian/munin-node/var/run/munin

# "make clean" is being clever. Work around that. ;)
override_dh_auto_clean:
	dh_auto_clean -- $(MAKEOPTS) clean-node clean-master clean-plugins clean-common clean
	find plugins/javalib -name '*.class' -print0 | xargs -0 -r rm -v
	rm RELEASE -f

# Disable build tests for now
override_dh_auto_test:
