#!/usr/bin/make -f

include /usr/share/dpkg/pkg-info.mk

DOCS_SRC = README.md DOCUMENTATION.md
ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS)))
DOCS = $(DOCS_SRC:md=html) $(DOCS_SRC:md=txt)
CHANGELOGS = CHANGELOG.html CHANGELOG.txt
endif

cmd = radicale
_ENV_staged = $(strip \
 PATH="$(CURDIR)/debian/tmp/usr/bin:$(PATH)" \
 PYTHONPATH="$(CURDIR)/debian/tmp/usr/lib/$(shell py3versions -d)/dist-packages")

# generate manpage with help2man from --help option of python script
_mkman = $(_ENV_staged) \
 help2man $(if $3,--name "$(strip $3)") --no-info \
 --version-string="$(DEB_VERSION_UPSTREAM_REVISION)" \
 --output $2 $1 \
 || { $(_ENV_staged) $1 --help; false; }

# TODO: check testsuite at build-time
#export PYBUILD_BEFORE_TEST=cp -r {dir}/radicale {build_dir}
#export PYBUILD_AFTER_TEST=rm -rf {build_dir}/radicale
export PYBUILD_DISABLE=test

override_dh_clean:
	dh_clean -- $(DOCS) $(CHANGELOGS)

execute_after_dh_auto_build: $(DOCS) $(CHANGELOGS)

# Disable system daemons by default
override_dh_installinit:
	dh_installinit --package=radicale --no-enable
override_dh_installsystemd:
	dh_installsystemd --no-enable --no-start

# generate manpage based on --help option of script itself
execute_after_dh_auto_install:
	$(call _mkman, $(cmd), debian/$(cmd).1, \
		a simple calendar server)

# fix unset execution bit on FCGI and WSGI scripts
execute_after_dh_fixperms:
	chmod -x debian/radicale/usr/share/radicale/radicale.wsgi

override_dh_installdocs:
	dh_installdocs -- $(DOCS)

override_dh_installchangelogs:
	dh_installchangelogs -- $(CHANGELOGS)

%.html: %.md
	cmark-gfm $< > $@

%.txt: %.md
	cmark-gfm --to plaintext $< > $@

%:
	dh "$@" --buildsystem=pybuild
