#!/usr/bin/make -f

export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,--as-needed -Wl,-Bsymbolic

BUILDDIR=$(CURDIR)/obj-$(DEB_HOST_GNU_TYPE)
CHECK_HOME = $(CURDIR)/debian/tmp/home
CHECK_XRD = $(CHECK_HOME)/XRD

FEATURE_FLAGS = \
	-Dautostart=true \
	-Dgeneric_media_extractor=gstreamer \
	-Dsystemd_user_services=/usr/lib/systemd/user \
	-Ddocs=true \
	-Dfunctional_tests=true \
	-Dminer_rss=false \
	-Dbattery_detection=upower \
	-Dcharset_detection=icu

MESON_TEST_ARGS = \
	-C $(BUILDDIR) \
	--no-rebuild \
	--verbose
TEST_SUITES_FILTER = \
	functional
ifeq ($(DEB_HOST_ARCH),$(findstring $(DEB_HOST_ARCH),hppa powerpc ppc64 s390x sparc64))
TEST_SUITES_FILTER += \
	audio
endif

# Disable 'universe' dependencies (libosinfo & libiptcdata) on Ubuntu
ifeq ($(shell dpkg-vendor --query vendor),Ubuntu)
FEATURE_FLAGS += \
	-Diptc=disabled \
	-Diso=disabled
endif

%:
	dh $@

override_dh_auto_configure:
	dh_auto_configure -- \
		-Dauto_features=enabled \
		$(FEATURE_FLAGS)

override_dh_install:
	find debian/tmp -name 01-writeback.py -print -delete
	find debian/tmp -name tracker-tests -print -delete
	dh_install

override_dh_missing:
	dh_missing --fail-missing

override_dh_makeshlibs:
	dh_makeshlibs -X/usr/lib/$(DEB_HOST_MULTIARCH)/tracker-miners-2.0/

override_dh_shlibdeps:
	dh_shlibdeps -Ltracker-extract

override_dh_auto_test:
ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
	mkdir -p -m0700 $(CHECK_HOME)
	mkdir -m0700 $(CHECK_XRD)
	env HOME=$(CHECK_HOME) XDG_RUNTIME_DIR=$(CHECK_XRD) \
	    dbus-run-session -- \
	    meson test $(MESON_TEST_ARGS) \
	    $(addprefix --no-suite ,${TEST_SUITES_FILTER})
	-env HOME=$(CHECK_HOME) XDG_RUNTIME_DIR=$(CHECK_XRD) \
	    dbus-run-session -- \
	    meson test $(MESON_TEST_ARGS) \
	    $(addprefix --suite ,${TEST_SUITES_FILTER})
endif

override_dh_clean:
	rm -rf $(CHECK_HOME)
	dh_clean
