Package: dpkg-dev Version: 1.14.14 Severity: important Hi,
dpkg-buildpackage now handles parallel builds with the following code: if ($parallel || $ENV{DEB_BUILD_OPTIONS}) { my $build_opts = Dpkg::BuildOptions::parse(); $parallel ||= $build_opts->{parallel}; if (defined $parallel) { $ENV{MAKEFLAGS} ||= ''; if ($parallel eq '-1') { $ENV{MAKEFLAGS} .= " -j"; } else { $ENV{MAKEFLAGS} .= " -j$parallel"; } } $build_opts->{parallel} = $parallel; Dpkg::BuildOptions::set($build_opts); } However, many packages don't support parallel building yet. I can see two use cases for parallel builds: (1) a developper that knows that his package builds fine in parallel, and that uses dpkg-buildpackage -j. (2) archive-wide rebuilds, or fast buildds. In case (2), the current code is harmful. The safe way to do parallel builds was to set parallel=<n> in DEB_BUILD_OPTIONS, so the 10 or 20 packages where parallel building is supported can use it, and all the others will just build using one thread. I think that the current code should be changed to: --- dpkg-buildpackage.pl.orig 2008-01-01 23:06:39.000000000 +0100 +++ dpkg-buildpackage.pl 2008-01-01 23:07:41.000000000 +0100 @@ -240,10 +240,9 @@ warning(_g("unknown sign command, assuming pgp style interface")); } -if ($parallel || $ENV{DEB_BUILD_OPTIONS}) { +if ($parallel) { my $build_opts = Dpkg::BuildOptions::parse(); - $parallel ||= $build_opts->{parallel}; if (defined $parallel) { $ENV{MAKEFLAGS} ||= ''; if ($parallel eq '-1') { This way, dpkg-buildpackage would simply ignore parallel=<n> in DEB_BUILD_OPTIONS. An example of package that supports parallel=<n> but fails to build with dpkg-buildpackage -j is glibc. This change is very annoying: it makes it impossible for me to run archive-wide rebuilds using parallel=n... -- | Lucas Nussbaum | [EMAIL PROTECTED] http://www.lucas-nussbaum.net/ | | jabber: [EMAIL PROTECTED] GPG: 1024D/023B3F4F | -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]