[Debian-med-packaging] Bug#1117554: igraph: Does not respect parallel DEB_BUILD_OPTIONS
Aurelien Jarno
aurel32 at debian.org
Tue Oct 7 19:59:47 BST 2025
Source: igraph
Version: 1.0.0+ds-1
Severity: important
Tags: patch
Dear maintainer,
igraph doesn't respect the parallel DEB_BUILD_OPTIONS, and build the
tests all in parallel:
| make[3]: Leaving directory '/build/reproducible-path/igraph-1.0.0+ds/_BUILD_SHARED'
| /usr/bin/cmake -E cmake_progress_start /build/reproducible-path/igraph-1.0.0+ds/_BUILD_SHARED/CMakeFiles 0
| make[2]: Leaving directory '/build/reproducible-path/igraph-1.0.0+ds/_BUILD_SHARED'
| make[1]: Leaving directory '/build/reproducible-path/igraph-1.0.0+ds'
| debian/rules override_dh_auto_test-arch
| make[1]: Entering directory '/build/reproducible-path/igraph-1.0.0+ds'
| ## see #924052 for further information
| /usr/bin/make -C _BUILD_STATIC -j build_tests
| make[2]: Entering directory '/build/reproducible-path/igraph-1.0.0+ds/_BUILD_STATIC'
The full build log is available here:
https://buildd.debian.org/status/fetch.php?pkg=igraph&arch=amd64&ver=1.0.0%2Bds-1&stamp=1759774403&raw=0
Note how make is called with -j without any number.
This is due to the NUMJOBS variable being defined nowhere in
debian/rules:
| override_dh_auto_test-arch:
| ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
| ## see #924052 for further information
| $(MAKE) -C $(BUILDIR_STATIC) -j$(NUMJOBS) build_tests
| $(MAKE) -C $(BUILDIR_SHARED) -j$(NUMJOBS) build_tests
| dh_auto_test -a -B$(BUILDIR_STATIC)
| dh_auto_test -a -B$(BUILDIR_SHARED)
| endif
See https://sources.debian.org/src/igraph/1.0.0%2Bds-1/debian/rules#L55-L62
While the build succeed at the end (modulo the symbol differences on
some architectures for the latest upload), this put very high pressure
on the build daemons with hundred of gcc processes in parallel,
triggering monitoring alerts and at the end just making the build longer.
The following patch fixes the issue:
--- igraph-0.10.16+ds/debian/rules
+++ igraph-0.10.16+ds/debian/rules
@@ -1,4 +1,5 @@
#!/usr/bin/make -f
+include /usr/share/dpkg/buildopts.mk
include /usr/share/dpkg/pkg-info.mk
#export DH_VERBOSE=1
@@ -55,8 +56,8 @@
override_dh_auto_test-arch:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
## see #924052 for further information
- $(MAKE) -C $(BUILDIR_STATIC) -j$(NUMJOBS) build_tests
- $(MAKE) -C $(BUILDIR_SHARED) -j$(NUMJOBS) build_tests
+ $(MAKE) -C $(BUILDIR_STATIC) $(DEB_BUILD_OPTION_PARALLEL:%=-j%) build_tests
+ $(MAKE) -C $(BUILDIR_SHARED) $(DEB_BUILD_OPTION_PARALLEL:%=-j%) build_tests
dh_auto_test -a -B$(BUILDIR_STATIC)
dh_auto_test -a -B$(BUILDIR_SHARED)
endif
Regards
Aurelien
More information about the Debian-med-packaging
mailing list