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

