[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#628515: recommending verbose build logs



Hi Matthias,

Matthias Klose wrote:

> It's always interesting to look at build logs, or to receive bug reports of the form
>
>   CC
>   <compiler error message>
>
> or
>
>   CCLD
>   <linker error message>
>
> without knowing how the compiler or the linker were called.  Maybe it is
> convenient for a package maintainer watching the build scrolling by (some of
> these are even colorized), but lacking this kind of information in the first
> place seems to be the wrong thing.  So please let us deprecate this anti-feature
> and recommend verbose build logs by default and only turn them off by request
> (e.g. with DEB_BUILD_OPTIONS=noverbose).

As much as I agree with your goal (being able to easily understand and
diagnose miscompilations and build failures) I do not suspect there is
a consensus for this.  Some maintainers enjoy reading abbreviated
build logs, where error messages and warnings stand out.

So how can we make progress anyway?  I would propose introducing
something very similar to what you mentioned above, but just flipping
the default.  People who want verbose build logs could use

	DEB_BUILD_OPTIONS=verbose

Then I think there would be a strong case for making that the default
on autobuilders, but that's a separate question, anyway.

Strawman patch below.  What do you think?

diff --git i/policy.sgml w/policy.sgml
index 31226328..34a195f1 100644
--- i/policy.sgml
+++ w/policy.sgml
@@ -2224,6 +2224,17 @@
 		  stripped from the binary during installation, so that
 		  debugging information may be included in the package.
 	      </item>
+	      <tag>verbose</tag>
+	      <item>
+		  This tag means that compiler and linker commands used to
+		  build the package should not be abbreviated in the
+		  log.<footnote>
+		      Packages built with <tt>cmake</tt>, autotools, or
+		      the Linux kernel build system can implement this by
+		      passing the parameters <tt>V=1</tt> and
+		      <tt>VERBOSE=1</tt> as arguments to <tt>make</tt>.
+		  </footnote>
+	      </item>
 	      <tag>parallel=n</tag>
 	      <item>
 		  This tag means that the package should be built using up
-- 



Reply to: