#!/usr/bin/make -f
# -*- makefile -*-

export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow

include /usr/share/dpkg/default.mk
include /usr/share/debhelper/dh_package_notes/package-notes.mk

built_binaries := $(shell dh_listpackages)

%:
	dh $@ --with xml-core

DPKG_GENSYMBOLS_CHECK_LEVEL=4
export DPKG_GENSYMBOLS_CHECK_LEVEL

configure_flags =
compat_configure_flags =

ifeq ($(filter %-doc,$(built_binaries)),)
configure_flags_doc = -Dgtk_doc=false
else
configure_flags_doc = -Dgtk_doc=true
endif

configure_flags_consolekit = \
		-Dgtk_doc=false \
		-Dman=false \
		-Dsession_tracking=ConsoleKit

configure_flags_elogind = \
		$(configure_flags_doc) \
		-Dman=true \
		-Dsession_tracking=ConsoleKit

configure_flags += \
		-Dintrospection=true \
		-Dexamples=false \
		-Dtests=true

ifneq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
configure_flags += --cross-file=$(DEB_HOST_GNU_TYPE)-gobject-introspection.ini
endif

override_dh_auto_clean:
	dh_auto_clean
	dh_auto_clean --builddirectory=build-consolekit

override_dh_auto_configure:
	dh_auto_configure \
		-- \
		$(configure_flags_elogind) \
		$(configure_flags)
	dh_auto_configure \
		--builddirectory=build-consolekit \
		-- \
		$(configure_flags_consolekit) \
		$(configure_flags)

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	# on buildds we can't rely on actually having a system bus
	dbus-run-session -- \
		sh -euc 'export DBUS_SYSTEM_BUS_ADDRESS="$$DBUS_SESSION_BUS_ADDRESS"; exec "$$@"' \
		sh \
		dh_auto_test \
		-- \
		$(NULL)
endif

override_dh_shlibdeps:
	dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info
	
override_dh_auto_install:
	dh_auto_install
	dh_auto_install --builddirectory=build-consolekit --destdir=debian/install/consolekit

override_dh_install:
	dh_install \
	-plibpolkit-gobject-consolekit-1-0       \
	--sourcedir=debian/install/consolekit

	dh_install -a                           \
	-Nlibpolkit-gobject-consolekit-1-0

	# on Devuan use sudo group; on Ubuntu, also allow the admin group for
	# historical reasons
	if dpkg-vendor --is ubuntu; then \
		install -m644 debian/49-ubuntu-admin.rules debian/tmp/usr/share/polkit-1/rules.d/; \
	fi
	dh_install
