debian/rules
author Kyle Lippincott <spectral@google.com>
Mon, 16 Sep 2019 12:42:50 -0700
changeset 4847 0fecff9ac36d
parent 4645 6292fe564b20
child 4909 56a8fbdd6090
permissions -rwxr-xr-x
cmdstate: avoid setting a default argument to a mutable object (`{}`) If there's ever more than one cmdstate for the lifetime of the process, this can cause surprising behavior where the later cmdstates pick up options from the earlier ones. I've not seen any evidence this is actually causing any issues, but it's subtle enough that it should probably be fixed to help save significant debugging time later.

#!/usr/bin/make -f
#export DH_VERBOSE=1

%:
	dh $@ --with python2 --buildsystem=python_distutils

override_dh_auto_build:
	dh_auto_build
	# Workaround for Sphinx in Debian Buster defaulting to Python 3
	SPHINXBUILD="python -m sphinx -bhtml" $(MAKE) -C docs

hgsrc_defined:
	# Use "! -z" instead of "-n", because "-n" without arguments is true
	test ! -z $(HGSRC) && test -d $(HGSRC) || (echo "$(HGSRC) is not a directory"; false)

ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS)))
override_dh_auto_test: hgsrc_defined
	cd tests && python $(HGSRC)/tests/run-tests.py --with-hg=$(HGSRC)/hg --blacklist=$(CURDIR)/debian/test-blacklist
endif

override_dh_python2:
	# avoid conflict with mercurial's own hgext3rd/__init__.py
	find debian -path '*/hgext3rd/__init__.py' -delete
	dh_python2

override_dh_auto_clean: clean-docs
	dh_auto_clean
	rm -f tests/*.err

clean-docs:
	rm -rf html
	rm -f docs/static/logo-evolve.ico
	rm -f docs/tutorials/tutorial.rst
	rm -f docs/tutorials/topic-tutorial.rst