Package: dpkg-dev Version: 1.18.10 Severity: wishlist I've just reported the FTBFS bug for a slang2 upload that failed on all buildds due to a non-parallel-safe upstream build system. It appears that all our official buildds build with DEB_BUILD_OPTIONS=parallel=n for n >= 2, so any Architecture: any package that fails when built like that is de facto RC-buggy already.
It occurs to me that if dpkg-buildpackage defaulted to a parallel build on hardware with multiple cores, then in practice maintainers would never upload packages with this failure mode, because in practice maintainers are using PCs with two or more cores. Also, test builds and final-upload builds by maintainers who do not yet know about the -J option would go faster, saving them time. Unlike -jauto, -Jauto respects "dh --no-parallel", making it relatively safe to use everywhere - particularly since our buildds are already using DEB_BUILD_OPTIONS=parallel=n anyway. The one difference that I would advocate in a default behaviour (and perhaps for -Jauto itself) is that according to its documentation, -Jauto falls back to an unlimited number of threads (make -j) if the number of CPU cores cannot be determined. For memory-hungry compilations, particularly C++, this causes everything to grind to a halt or even get hit with the OOM killer. It seems to me that using some arbitrary number of threads, perhaps the equivalent of -J2 or -J4, might be a better fallback behaviour if the number of cores cannot be determined. -- System Information: Debian Release: stretch/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental-debug'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.7.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages dpkg-dev depends on: ii base-files 9.6 ii binutils 2.27-9+b1 ii bzip2 1.0.6-8 ii libdpkg-perl 1.18.10 ii make 4.1-9 ii patch 2.7.5-1 ii tar 1.29b-1.1 ii xz-utils 5.2.2-1.2 Versions of packages dpkg-dev recommends: ii build-essential 12.2 ii clang-3.6 [c-compiler] 1:3.6.2-4 ii clang-3.8 [c-compiler] 1:3.8.1-13 ii fakeroot 1.21-2 ii gcc [c-compiler] 4:6.1.1-1 ii gcc-6 [c-compiler] 6.2.0-10 ii gnupg 2.1.15-8 ii gnupg2 2.1.15-8 ii gpgv 2.1.15-8 ii libalgorithm-merge-perl 0.08-3 ii pseudo [fakeroot] 1.8.1+git20161012-2 Versions of packages dpkg-dev suggests: ii debian-keyring 2016.09.04 -- no debconf information