[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Parallelizing a submake of debian/rules



Hello,

(Please keep me CCed, I'm not subscribed to debian-python.)

I'm working on packaging the libraries Kwant [1] and Tinyarray [2] (a
dependency for Kwant) for Debian.  The Debian packaging was done in git
repositories [3] [4] and seems finished.

I'm not satisfied with one aspect of it, however: build parallelization
does not work, i.e. running

gbp buildpackage -j4

does not result in a parallel build.

There are several parts of the build process of Kwant that could be
parallelized.  The only one that I'd like to consider here is the one
that is consuming the most time: the generation of figures for the HTML
documentation from patched example scripts.

Having cloned [1], one can build the documentation in parallel like
this:

./setup.py build
cd doc
make -j4 html

In the Debian packaging [3] this is done in debian/rules like this:

# Make documentation only if needed.
ifneq "$(shell dh_listpackages | grep -- -doc)" ""
PY3VER = $(shell python3 --version | cut -d' ' -f2 | cut -d. -f1,2)
override_dh_installdocs:
	PYTHONPATH=$(CURDIR)/debian/python3-kwant/usr/lib/python$(PY3VER)/dist-packages \
	LC_ALL=C.UTF-8 $(MAKE) -C doc html
	dh_installdocs
endif

But the submake launchd by "$(MAKE)" is not a parallel one.

I have enabled parallel builds by giving the --parallel option to "dh",
and I launch gbp buildpackage with "-j4".  Moreover, DEB_BUILD_OPTIONS
is set to "parallel=4", but all to no avail.  The only way to make it
work is to add an explicit "-j" to the make invocation in debian/rules,
but that's certainly not the way it should be done.

I'm grateful for any hints on how to fix the situation.

Thanks,
Christoph

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886418
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=886628
[3] https://gitlab.kwant-project.org/kwant/debian-kwant
[4] https://gitlab.kwant-project.org/kwant/debian-tinyarray

Attachment: signature.asc
Description: PGP signature


Reply to: