#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all

include /usr/share/dpkg/architecture.mk

ifeq ($(DEB_HOST_ARCH),s390x)
export DEB_CFLAGS_MAINT_APPEND  = -Wall -O2
else
export DEB_CFLAGS_MAINT_APPEND  = -Wall -O3
endif

export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed

%:
	dh ${@} --with apache2

override_dh_auto_configure:
# Netdata Cloud support (ACLK)
# Netdata Cloud by default at runtime
# metric collectors written in Go
# H2O web server (experimental)
# eBPF programs for kernels without BTF support
# machine learning features
# Linux eBPF metric collection
# Xen domain monitoring
	dh_auto_configure -- \
		-DENABLE_ACLK:BOOL=OFF \
		-DENABLE_CLOUD:BOOL=OFF \
		-DENABLE_PLUGIN_GO:BOOL=OFF \
		-DENABLE_H2O:BOOL=OFF \
		-DENABLE_LEGACY_EBPF_PROGRAMS:BOOL=OFF \
		-DENABLE_ML:BOOL=OFF \
		-DENABLE_PLUGIN_EBPF:BOOL=OFF \
		-DENABLE_PLUGIN_XENSTAT=OFF \
		-DCMAKE_INSTALL_PREFIX:PATH=/

execute_after_dh_auto_install:
	# Removing unused files
	rm -f debian/tmp/etc/netdata/.install-type
	rm -f debian/tmp/usr/libexec/netdata/install-service.sh
	rm -f debian/tmp/usr/lib/netdata/conf.d/netdata-updater.conf
	rm -f debian/tmp/usr/libexec/netdata/netdata-updater.sh
	rm -rf debian/tmp/usr/lib/netdata/system

	# Building without aws kinesis backend (needs aws sdk)
	rm -f debian/tmp/usr/lib/netdata/conf.d/aws_kinesis.conf

override_dh_install-arch:
	find debian/tmp -name .keep -delete

	# Copy architecture dependent plugins
	mkdir -p debian/netdata-core/etc/netdata
	cp debian/local/netdata/netdata.conf debian/netdata-core/etc/netdata
	touch debian/netdata-core/etc/netdata/.opt-out-from-anonymous-statistics

	mkdir -p debian/netdata-core/usr/libexec/netdata/plugins.d
	for plugin in cgroup-network apps.plugin nfacct.plugin perf.plugin slabinfo.plugin; \
	do \
		cp debian/tmp/usr/libexec/netdata/plugins.d/$${plugin} \
		   debian/netdata-core/usr/libexec/netdata/plugins.d; \
	done

	dh_install -a

override_dh_install-indep:
	find debian/tmp -name .keep -delete

	dh_install -i

	# Move architecture dependent plugins
	mkdir -p debian/netdata-core/usr/libexec/netdata/plugins.d
	for plugin in cgroup-network apps.plugin nfacct.plugin perf.plugin slabinfo.plugin; \
	do \
		mv -f debian/netdata-plugins-bash/usr/libexec/netdata/plugins.d/$${plugin} \
		   debian/netdata-core/usr/libexec/netdata/plugins.d; \
	done

	mkdir -p debian/netdata-plugins-python/usr/libexec/netdata/plugins.d
	for plugin in python.d.plugin; \
	do \
		mv debian/netdata-plugins-bash/usr/libexec/netdata/plugins.d/$${plugin} \
		   debian/netdata-plugins-python/usr/libexec/netdata/plugins.d; \
	done

	# Setting package version (update check)
	echo $(VERSION) > debian/netdata-web/usr/share/netdata/web/version.txt

override_dh_installsystemd:
	dh_installsystemd -p netdata-core --name=netdata
	dh_installsystemd --remaining-packages

override_dh_installlogrotate:
	dh_installlogrotate -p netdata-core --name=netdata
	dh_installlogrotate --remaining-packages

override_dh_fixperms-arch:
	dh_fixperms -a

	# apps.plugin should only be runnable by the netdata user. It will be
	# given extra capabilities in the postinst script.
	chmod 0754 debian/netdata-core/usr/libexec/netdata/plugins.d/apps.plugin
	chmod 4754 debian/netdata-core/usr/libexec/netdata/plugins.d/perf.plugin

override_dh_fixperms-indep:
	dh_fixperms -i

	# apps.plugin should only be runnable by the netdata user. It will be
	# given extra capabilities in the postinst script.
	chmod 0644 debian/netdata-plugins-bash/usr/libexec/netdata/charts.d/*.sh
	chmod 0644 debian/netdata-plugins-bash/usr/libexec/netdata/plugins.d/*.sh.inc
	chmod 0644 debian/netdata-plugins-python/usr/libexec/netdata/python.d/*.py
