Package: debhelper
Version: 7.4.15
Severity: normal

(At first, I though only overriden commands were impacted, but it appears
I was wrong)

When e.g. dh_auto_build is called to start the build on a standard project
with a Makefile, as you stated on my blog, dh removes the --jobserver-fds=
and -j options from MAKEFLAGS.

While this can be required to avoid some things from breaking, which i
guess is why you did that in the first place, it also means parallel
builds can't happen at all under dh, with any setting apparently:

$ dpkg-buildpackage -j3 2>/dev/null | grep ^==
== debian/rules clean MAKEFLAGS= --jobserver-fds=3,4 -j 
DEB_BUILD_OPTIONS=parallel=3
==distclean MAKEFLAGS=w DEB_BUILD_OPTIONS=parallel=3
== debian/rules build MAKEFLAGS= --jobserver-fds=3,4 -j 
DEB_BUILD_OPTIONS=parallel=3
==build MAKEFLAGS=w DEB_BUILD_OPTIONS=parallel=3
== debian/rules binary MAKEFLAGS= --jobserver-fds=3,4 -j 
DEB_BUILD_OPTIONS=parallel=3
==install MAKEFLAGS=w -- DESTDIR=/tmp/dummy-0.0/debian/dummy 
DEB_BUILD_OPTIONS=parallel=3

$ DEB_BUILD_OPTIONS=parallel=3 dpkg-buildpackage 2>/dev/null | grep ^==
== debian/rules clean MAKEFLAGS= DEB_BUILD_OPTIONS=parallel=3
==distclean MAKEFLAGS=w DEB_BUILD_OPTIONS=parallel=3
== debian/rules build MAKEFLAGS= DEB_BUILD_OPTIONS=parallel=3
==build MAKEFLAGS=w DEB_BUILD_OPTIONS=parallel=3
== debian/rules binary MAKEFLAGS= DEB_BUILD_OPTIONS=parallel=3
==install MAKEFLAGS=w -- DESTDIR=/tmp/dummy-0.0/debian/dummy 
DEB_BUILD_OPTIONS=parallel=3

The output above comes from the dummy package attached.

I think dh_auto_build should (at least) respect DEB_BUILD_OPTIONS's
parallel option, and call make with the apropriate flags again, making sure
it doesn't contact the jobserver from parent make.

Cheers,

Mike

-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.31-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages debhelper depends on:
ii  binutils                      2.20-6     The GNU assembler, linker and bina
ii  dpkg-dev                      1.15.5.6   Debian package development tools
ii  file                          5.04-1     Determines file type using "magic"
ii  html2text                     1.3.2a-14  advanced HTML to text converter
ii  man-db                        2.5.7-2    on-line manual pager
ii  perl                          5.10.1-11  Larry Wall's Practical Extraction 
ii  perl-base                     5.10.1-11  minimal Perl system
ii  po-debconf                    1.0.16     tool for managing templates file t

debhelper recommends no packages.

Versions of packages debhelper suggests:
pn  dh-make                       <none>     (no description available)

-- no debconf information

Attachment: dummy_0.0-0.tar.gz
Description: GNU Zip compressed data

Reply via email to