contrib/debian/rules
author Augie Fackler <augie@google.com>
Wed, 26 Aug 2015 10:59:09 -0400
changeset 26148 7f49efcaa9b4
child 26296 9cecbe837c94
permissions -rw-r--r--
debian: switch to using debhelper and dh_python2 to build debs This is a much larger commit than I'd like, but I honestly don't see a good way to break it up and leave things working. Summary: We now use debian/rules with debhelper to build our debs. This is much more standard, and means we use dh_python2 to do things like handle leaving .pyc files out of the built debs. The resulting package is split into mercurial and mercurial-common, with the former being the hg stub and all the native .sos, and the latter being basically everything else. builddeb and dockerdeb are updated to use the new system. The old way (using dpkg by hand) breaks with the above changes because debian/control no longer contains a version string (that's now guessed from the phony changelog.) Tests are updated to assert that the right files end up in the right debs.

#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
# export DH_VERBOSE=1

CPUS=$(shell cat /proc/cpuinfo | grep -E ^processor | wc -l)

%:
	dh $@ --with python2

override_dh_auto_test:
	http_proxy='' dh_auto_test -- TESTFLAGS="-j$(CPUS)"

override_dh_python2:
	dh_python2
	find debian/mercurial/usr/share -type d -empty -delete

override_dh_install:
	python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial --install-layout=deb
	# remove arch-independent python stuff
	find $(CURDIR)/debian/mercurial/usr/lib \
		! -name '*.so' ! -type d -delete , \
		-type d -empty -delete
	python$(PYVERS) setup.py install --root $(CURDIR)/debian/mercurial-common --install-layout=deb
	make install-doc PREFIX=$(CURDIR)/debian/mercurial-common/usr
	# remove arch-dependent python stuff
	find $(CURDIR)/debian/mercurial-common/usr/lib \
		-name '*.so' ! -type d -delete , \
		-type d -empty -delete
	rm $(CURDIR)/debian/mercurial-common/usr/bin/hg