#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
include /usr/share/dpkg/architecture.mk
# be REALLY noisy
export DH_VERBOSE=1
export DH_OPTIONS=-v

export DEB_BUILD_OPTIONS=noautodbgsym
PACKAGE=kanidm-unixd
PKGDIR=debian/${PACKAGE}
BINDIR=${PKGDIR}/usr/sbin/
LIBDIR=${PKGDIR}/lib/${DEB_HOST_MULTIARCH}
SHARED_DIR=${PKGDIR}/usr/share/${PACKAGE}
PAMDIR=${PKGDIR}/usr/share/pam-configs/
DISTRIBUTOR_ID=$(shell lsb_release -is)
DISTRIBUTOR_RELEASE=$(shell lsb_release -rs)
DISTRIBUTOR=$(DISTRIBUTOR_ID)_$(DISTRIBUTOR_RELEASE)

# GitHub enforces NTFS compatible filenames for artifacts so we need to drop the EPOCH field
DEB_VERSION_FULL=$(shell dpkg-parsechangelog --show-field Version | sed -E 's/^[0-9]+://')

%:
	dh $@ --with systemd

override_dh_auto_clean:

override_dh_autoreconf:

override_dh_auto_build:
	# this runs "make -- release/${PACKAGE} release/kanidm-ssh"
	KANIDM_BUILD_PROFILE=release_linux dh_auto_build -- release/${PACKAGE} release/kanidm-ssh

override_dh_auto_test:
override_dh_shlibdeps:
override_dh_strip:

# Do the systemd things
override_dh_installinit:
	install -g root -o root \
		platform/debian/systemd/${PACKAGE}.service \
		debian/
	dh_systemd_enable -p${PACKAGE} --name=${PACKAGE} ${PACKAGE}.service
	dh_installinit -p${PACKAGE} --no-start --noscripts
	dh_systemd_start -p${PACKAGE} --no-restart-on-upgrade

	install -g root -o root \
		platform/debian/systemd/${PACKAGE}-tasks.service \
		debian/
	dh_systemd_enable -p${PACKAGE} --name=${PACKAGE}-tasks ${PACKAGE}-tasks.service
	dh_installinit -p${PACKAGE} --name=${PACKAGE}-tasks --no-start --noscripts
	dh_systemd_start -p${PACKAGE} --name=${PACKAGE}-tasks --no-restart-on-upgrade

override_dh_systemd_start:
	echo "Not running dh_systemd_start"

override_dh_auto_install:
	mkdir -p ${BINDIR}
	mkdir -p ${PAMDIR}
	mkdir -p ${LIBDIR}/security
	install \
		-g root -o root \
		target/release/kanidm_ssh_authorizedkeys \
		${BINDIR}
	install \
		-g root -o root \
		target/release/kanidm_ssh_authorizedkeys_direct \
		${BINDIR}
	install \
		-g root -o root \
		target/release/kanidm_unixd \
		${BINDIR}
	install \
		-g root -o root \
		target/release/kanidm-unix \
		${BINDIR}
	install \
		-g root -o root \
		target/release/kanidm_unixd_tasks \
		${BINDIR}
	install \
		-g root -o root \
		target/release/libpam_kanidm.so \
		${LIBDIR}/security/pam_kanidm.so
	install \
		-g root -o root \
		target/release/libnss_kanidm.so \
		${LIBDIR}/libnss_kanidm.so.2
	install \
		-g root -o root -m 644 \
		debian/kanidm.pam \
		${PAMDIR}/kanidm

override_dh_installexamples:
	mkdir -p ${SHARED_DIR}
	install -D \
		-g root -o root \
		examples/kanidm \
		${SHARED_DIR}/
	install -D \
		-g root -o root \
		examples/unixd \
		${SHARED_DIR}/

override_dh_builddeb:
	dh_builddeb --filename ${PACKAGE}_${DISTRIBUTOR}_${DEB_VERSION_FULL}_${DEB_HOST_GNU_CPU}.deb