On Tue, Jun 07, 2011 at 08:12:15AM -0400, Joey Hess wrote:
> Roger Leigh wrote:
> > I think I may have proposed something similar to this patch before, but
> > I can't find it in the BTS.
> 
> It caused significant slowdown (due to running every debhelper command
> twice with -a and -i) and quite likely broke packages due to
> running make install twice, so was removed.
> 
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604563#77
> 
> 657852b56b0d835afd4e45407d6e8d217c63ab20

Ah, thanks.

I'm sure we can improve the performance with some additional work.
For me, I'm more concerned about the correctness (not bypassing
the policy-defined targets), but I do see your point.

Currently we have the "sequence dependencies" as a separate
list, not associated with the sequences themselves.  It would be
possible to put them directly into the sequence list, e.g. with
a prefix such as "rules:build" which would make dh invoke
"debian/rules build" rather than the command directly.  This would
permit the rules targets to be run at any point in a sequence.

We could, for the build sequence, then run the build-arch and
build-indep rules targets /after/ the build sequence (they would
appear right at the end of the list).  Because the sequence will have
been run for both -a and -i, when the build-indep and build-arch
sequences are subsequently run, it will then skip them because they
will already have been run.  This provides the best of both
approaches: when you run the build sequence you only run each command
once, but you still run the individual arch and indep sequences (and
call the rules targets) which allows the user to customise them.  When
the build-arch and -indep rules are invoked individually, you still
get the correct behaviour.

For the install rule, we can do exactly the same, so the dh_*
commands are only run once.  Do all of these commands create
.log files or are there any exceptions?

I'll give this a go and make a new patch.


Regards,
Roger

-- 
  .''`.  Roger Leigh
 : :' :  Debian GNU/Linux             http://people.debian.org/~rleigh/
 `. `'   Printing on GNU/Linux?       http://gutenprint.sourceforge.net/
   `-    GPG Public Key: 0x25BFB848   Please GPG sign your mail.

Attachment: signature.asc
Description: Digital signature

Reply via email to