Samuel Thibault:
> Package: debhelper
> Version: 13.2
> Severity: normal
> 
> Hello,
> 

Hi,

> Since debhelper compat 10, "The dh command will no longer use log files
> to track which commands have been run.  The dh command still keeps track
> of whether it already ran the "build" sequence and skip it if it did."
> 
> How does it keep track now? In some file or only live? Is there a way to
> get back to a file-tracking? Only by creating timestamps ourself?
> 

It no longer tracks this via files except for being able to tell that
the entire build target has already run.  There is no way to get the
previous behaviour back.

> My concern is that it seems to be thus running ./configure each time
> I invoke dpkg-buildpackage, and thus the packaging system basically
> rebuilds everything. The problem comes when there is a build failure at
> some point, and I want to run dpkg-buildpackage -nc to resume building
> the package after fixing the build failureĀ ; since ./configure is
> invoked again, the build system rebuilds everything! This can be
> extremely time-consuming for very big packages, basically making
> debhelper compat 10 unusable for packages with big build time.
> 
> I have attached a test case:
> 
> 
> [...]
> 
> 
> Yes, ideally upstream's ./configure would be idempotent and be cautious
> with timestamps of identically-generated files, and thus not actually
> trigger a rebuild, but I believe it's far from being a general case
> for upstream source, and getting this "rebuild-from-start" behavior by
> default is painful.
> 
> [...]
> 
> Samuel
> 
> [...]

Interestingly, I have had people asking me to *remove* the logging
because they were tired of it getting it their way with -nc rebuilds.
Presumably they worked with idempotent "configure" steps.

It occurs to me that you need this for debugging.  Would it help you if
debhelper provided a way for you to intercept the failure and resume the
build from there?

Thanks,
~Niels

Reply via email to