#!/usr/bin/make -f

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

binaries := $(shell dh_listpackages)

%:
	dh $@ --with=gir

override_dh_autoreconf:
	env NOCONFIGURE=1 dh_autoreconf ./autogen.sh

configure_options = \
	GJS=some-nonexistent-gjs-binary \
	--enable-installed-tests \
	--libexecdir='$${prefix}/libexec' \
	--with-avahi \
	--with-dracut \
	--with-grub2 \
	--with-grub2-mkconfig-path=/usr/sbin/grub-mkconfig \
	--with-libarchive \
	--with-libsystemd \
	--with-libmount \
	--with-soup \
	--with-selinux \
	--with-systemdsystemgeneratordir=/lib/systemd/system-generators \
	--with-systemdsystemunitdir=/lib/systemd/system \
	--without-smack \
	$(NULL)

ifneq ($(filter libostree-doc,$(binaries)),)
configure_options += --enable-gtk-doc
else
configure_options += --disable-gtk-doc
endif

ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
configure_options += --enable-man
else
configure_options += --disable-man
endif

override_dh_auto_configure:
	dh_auto_configure -- $(configure_options)

override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
	chmod +x tests/test-pull-bareuseronly.sh
	echo testsuite disabled
	#debian/test.sh
endif

override_dh_auto_test-indep:
	:

override_dh_auto_install:
	dh_auto_install
ifeq (,$(filter nodoc,$(DEB_BUILD_PROFILES)))
	# docbook-xsl capitalizes the whole heading, including the macro
	# used to represent a single quote... https://bugs.debian.org/821235
	sed -i -e 's,\*(AQ,*(Aq,g' \
		debian/tmp/usr/share/man/man1/ostree-remote.1 \
		debian/tmp/usr/share/man/man1/ostree-static-delta.1 \
		$(NULL)
endif

override_dh_install:
	rm -f debian/tmp/usr/lib/*/*.la
	rm -f debian/tmp/usr/libexec/installed-tests/libostree/*.la
	:
	# TODO: when someone documents how to test these (#824649) they
	# should be installed in a new ostree-boot package: see
	# debian/ostree-boot.* and https://bugs.debian.org/824650
	rm -f debian/tmp/etc/dracut.conf.d/ostree.conf
	rm -f debian/tmp/etc/grub.d/15_ostree
	rm -f debian/tmp/lib/systemd/system-generators/ostree-system-generator
	rm -f debian/tmp/lib/systemd/system/ostree-finalize-staged.path
	rm -f debian/tmp/lib/systemd/system/ostree-finalize-staged.service
	rm -f debian/tmp/lib/systemd/system/ostree-prepare-root.service
	rm -f debian/tmp/lib/systemd/system/ostree-remount.service
	rm -fr debian/tmp/usr/lib/dracut/modules.d/98ostree/
	rm -f debian/tmp/usr/libexec/libostree/grub2-15_ostree
	rm -f debian/tmp/usr/lib/ostree/ostree-prepare-root
	rm -f debian/tmp/usr/lib/ostree/ostree-remount
	rm -f debian/tmp/usr/lib/tmpfiles.d/ostree-tmpfiles.conf
	:
	dh_install

override_dh_missing:
	dh_missing --fail-missing

override_dh_makeshlibs:
	# this is an LD_PRELOAD, not a real shared library
	dh_makeshlibs -Xinstalled-tests/ostree/libreaddir-rand.so

override_dh_fixperms-arch:
	# dh_fixperms assumes *.js are for browsers and makes them 0644.
	dh_fixperms -X'*.js'
	find debian/tmp -type f -name '*.js' -print0 | \
		xargs -0r chmod -v go=rX,u+rw,a-s

override_dh_systemd_start:
	dh_systemd_start --no-start
