debian/rules
author Anton Shestakov <av6@dwimlabs.net>
Fri, 06 Sep 2019 12:53:46 +0700
branchstable
changeset 4829 6b82b4f72347
parent 4645 6292fe564b20
child 4909 56a8fbdd6090
permissions -rwxr-xr-x
stack: make a deep copy of `dependencies` before modifying its items The algorithm later on in this method uses .remove() to remove individual elements from items in dependencies, which before this patch modified the cached property contents. So for further use that dictionary was in the form of {1: set([])}, i.e. all sets were empty. This deep copy block could be way simpler, but the problem is that sometimes we get lists of _succs() from evolvebits.builddependencies(). Note: this happens only in topic's stack version of builddependencies() and it looks like a suboptimal way to handle multiple successors (see evolve's counterpart function). stack.builddependencies method is removed, it has served its purpose (see the previous patch).

#!/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