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

DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)


DPKG_GENSYMBOLS_CHECK_LEVEL=4
export DPKG_GENSYMBOLS_CHECK_LEVEL

CONFIG_FLAGS_CONSOLEKIT = \
		--enable-gtk-doc \
		--enable-man-pages \
		--enable-introspection \
		--disable-examples \
		--disable-elogind \
		--libexecdir=\$${prefix}/lib/policykit-1 \
		CFLAGS='-g'

CONFIG_FLAGS_ELOGIND = \
		--disable-gtk-doc \
		--disable-man-pages \
		--enable-introspection \
		--disable-examples \
		--enable-elogind \
		--libexecdir=\$${prefix}/lib/policykit-1 \
		CFLAGS='-g'

%:
	dh $@ --builddirectory=build-consolekit --with autoreconf,gir
	dh $@ --builddirectory=build-elogind --with autoreconf,gir

override_dh_auto_configure:
	dh_auto_configure --builddirectory=build-consolekit -- $(CONFIG_FLAGS_CONSOLEKIT)
	dh_auto_configure --builddirectory=build-elogind -- $(CONFIG_FLAGS_ELOGIND)

override_dh_auto_test:
# on buildds we can't rely on actually having a system bus
	dbus-run-session -- sh -c \
	'DBUS_SYSTEM_BUS_ADDRESS=$$DBUS_SESSION_BUS_ADDRESS make -C build-consolekit check'
	dbus-run-session -- sh -c \
	'DBUS_SYSTEM_BUS_ADDRESS=$$DBUS_SESSION_BUS_ADDRESS make -C build-elogind check'

override_dh_makeshlibs:
	dh_makeshlibs -Xusr/lib/$(DEB_HOST_MULTIARCH)/polkit-1/

override_dh_auto_install:
	dh_auto_install --builddirectory=build-consolekit --destdir=debian/install/consolekit
	dh_auto_install --builddirectory=build-elogind --destdir=debian/install/elogind

override_dh_install:
	dh_install \
	-plibpolkit-gobject-elogind-1-0       \
	-plibpolkit-backend-elogind-1-0       \
	-plibpolkit-backend-elogind-1-dev     \
	--sourcedir=debian/install/elogind    \
	--list-missing

	dh_install                              \
	-Nlibpolkit-gobject-elogind-1-0	        \
	-Nlibpolkit-backend-elogind-1-0         \
	-Nlibpolkit-backend-elogind-1-dev       \
	--sourcedir=debian/install/consolekit   \
	--list-missing

# on Devuan use sudo group; on Ubuntu, also allow the admin group for
# historical reasons
	mkdir -p debian/policykit-1/etc/polkit-1/localauthority.conf.d
	if dpkg-vendor --is ubuntu; then \
	    /bin/echo -e "[Configuration]\nAdminIdentities=unix-group:sudo;unix-group:admin" > debian/policykit-1/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf; \
	elif dpkg-vendor --is devuan; then \
	    /bin/echo -e "[Configuration]\nAdminIdentities=unix-group:sudo" > debian/policykit-1/etc/polkit-1/localauthority.conf.d/51-debian-sudo.conf; \
	fi

override_dh_auto_clean:
	dh_auto_clean --builddirectory=build-consolekit
	dh_auto_clean --builddirectory=build-elogind
	rm -rf debian/install/
	rm -rf build-consolekit/
	rm -rf build-elogind/
