X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dh_builddeb;h=bf9fc27d39aafdfb2c42545cd5cd213158b42b30;hb=18a0da8092ea9f3dc48bca92b36f592af25a608d;hp=df21cc06c8b8744653bc36c650d92ae21198556f;hpb=75b28d77ca9693a5826495cd3553129b7759cf7b;p=debhelper.git diff --git a/dh_builddeb b/dh_builddeb index df21cc0..bf9fc27 100755 --- a/dh_builddeb +++ b/dh_builddeb @@ -18,6 +18,9 @@ B [S>] [B<--destdir=>I] [B<--filena B simply calls L to build a Debian package or packages. +It supports building multiple binary packages in parallel, when enabled by +DEB_BUILD_OPTIONS. + =head1 OPTIONS =over 4 @@ -63,10 +66,7 @@ else { $dh{FILENAME}="/$dh{FILENAME}"; } -my $max_procs=1; -if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS}=~/parallel=(\d+)/) { - $max_procs=$1; -} +my $max_procs=get_buildoption("parallel") || 1; my $processes=1; my $exit=0; @@ -85,8 +85,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) { if (! defined $pid) { error("fork failed! $!"); } - $processes++; if ($pid) { # parent + $processes++; reap while $processes > $max_procs; next; } @@ -112,7 +112,8 @@ foreach my $package (@{$dh{DOPACKAGES}}) { if (! $filename) { $filename="/".udeb_filename($package); } - doit("dpkg-deb", @{$dh{U_PARAMS}}, "--build", $tmp, $dh{DESTDIR}.$filename); + doit("dpkg-deb", "-z1", "-Zxz", "-Sextreme", + @{$dh{U_PARAMS}}, "--build", $tmp, $dh{DESTDIR}.$filename); } exit 0; }