Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 429308 (verbose_build) - [tracker] ebuilds not forcing verbose build
Summary: [tracker] ebuilds not forcing verbose build
Status: CONFIRMED
Alias: verbose_build
Product: Quality Assurance
Classification: Unclassified
Component: Trackers (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Quality Assurance Team
URL: http://devmanual.gentoo.org/ebuild-wr...
Whiteboard:
Keywords: Tracker
Depends on: 430082 429310 429312 429314 429332 429414 429730 429740 429782 429784 429798 429824 429828 429830 429838 429840 429844 429846 429848 429852 429854 429858 429860 429862 429864 429866 429870 429872 429874 429876 429878 429880 429882 429884 429886 429888 429890 429892 429894 429896 429898 429900 429904 430084 430578 437874 437904 437906 437908 438020 438036 438256 438258 439048 439666 439668 441842 441854 442496 442592 442696 443000 443084 443124 443128 443130 443132 443142 443158 443300 443302 443304 443306 443308 443310 443312 443314 443316 443320 443322 443324 443326 443328 443330 443332 443334 443336 443338 443340 443342 443344 443346 443348 443350 443352 443354 443356 443358 443360 443362 443364 443366 443368 443370 443372 443374 443376 443378 443380 443382 443384 443386 443388 443390 443392 443394 443396 443398 443400 443402 443404 443406 443408 443410 443412 443414 444226 444230 444276 444346 444358 444370 444562 444674 444702 444704 444706 444708 444722 444870 445108 445388 445520 445522 445530 445600 445696 446398 446400 447234 447318 447488 447696 447806 447830 447930 448140 448196 448548 448552 448572 448578 448674 449016 449222 449516 450014 450302 450876 451208 451820 452854 453356 453632 453968 453972 454590 455028 456146 456640 456858 458008 458012 460180 461692 461858 461906 462084 462320 466808 466898 467178 467218 467984 475994 477678 486454 486464 486466 504704 505188 508176 563916 578960 589866 590712 590920 653922
Blocks:
  Show dependency tree
 
Reported: 2012-08-01 08:29 UTC by Julian Ospald
Modified: 2021-07-21 00:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Julian Ospald 2012-08-01 08:29:26 UTC
Build log should _always_ be verbose. This is not about build output which is controled by --quiet-build.

Reasons:
1. I want to see what happens. The build system might ignore CFLAGS, LDFLAGS (-Wl,--hash-style=gnu is not default) or add other random things.
2. When I ask someone in #gentoo to show me the build log I have to tell him he gotta recompile with EXTRA_ECONF="--disable-silent-rules" or whatever, because I often cannot help with non-verbose build log.
The same goes for attached build logs on bugzie.

Solution:
1. When using cmake just make sure to call "cmake-utils_src_compile", because CMAKE_VERBOSE is ON by default. For games ebuilds you have to overwrite src_compile function with this, because otherwise base_src_compile will be carried out.
2. For autotools based build systems add --disable-silent-rules to econf.
3. Custom Makefiles might need a patch.
Comment 1 Julian Ospald 2012-08-01 11:13:23 UTC
Reason 3: some QA checks might depend on verbose build log and are not yet implemented therefor.
Comment 3 Julian Ospald 2012-08-08 20:16:23 UTC
Solution 2 is not obsolete and the portage fix has been reverted until we get some council decision on this.
Comment 4 Julian Ospald 2012-09-28 12:25:53 UTC
note for autotools based build systems:
--disable-silent-rules is now part of econf in EAPI=5
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2012-11-09 21:35:36 UTC
Interesting. I always want to see verbose build log disabled :]

I'd appreciate an output for mc-9999 or xmms2-9999 in human-readable
form, not those pages of the same flags to notice newly popped suspictions
on my platform (-Werror is too harsh though)

  [CC] foo.o
    Here go only warnings reported by compiler and
    not 8 lines of include directories and unrelated -Woptions

What is the generic way to actually disable that verbose output for a
single run for a random package?

For xmms2 (waf based) case verbose build log will look rather weird
(i did run ./waf configure, thus varuables are used by default, not gentoo-ish):

  [ 40/348] c: src/plugins/vocoder/pvocoder.c -> _build_/src/plugins/vocoder/pvocoder.c.1.o
00:19:29 runner ['/usr/bin/gcc', '-g', '-O0', '-Wall', '-Wempty-body', '-Wformat=2', '-Wformat-nonliteral', '-Wformat-security', '-Wignored-qualifiers', '-Wmissing-prototypes', '-Wstrict-prototypes', '-Wtype-limits', '-Wwrite-strings', '-Wno-format-extra-args', '-Wno-format-zero-length', '-fdiagnostics-show-option', '-Werror=implicit-function-declaration', '-fPIC', '-I/tmp/portage/media-sound/xmms2-0.8-r1/work/xmms2-0.8DrO_o/_build_', '-I/tmp/portage/media-sound/xmms2-0.8-r1/work/xmms2-0.8DrO_o', '-I/tmp/portage/media-sound/xmms2-0.8-r1/work/xmms2-0.8DrO_o/_build_/src/include', '-I/tmp/portage/media-sound/xmms2-0.8-r1/work/xmms2-0.8DrO_o/src/include', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '../src/plugins/vocoder/pvocoder.c', '-c', '-o', 'src/plugins/vocoder/pvocoder.c.1.o']

I don't expect any sane QA on such output.
QA-wise inserting canary into CFLAGS (like -frecord-gcc-switches)
or setting proper $CC to do the checks sounds more reliable.
Comment 6 Matt Turner gentoo-dev 2012-11-15 18:53:40 UTC
Wow what an amazing waste of time. Why didn't you file a single bug for the xorg-2 eclass, wait for it to get fixed, and then see what problems were left before filing 110 identical bugs?

Really fricking stupid. The original reporter needs to use his automated filing tool to automatically close these bugs too. I don't want anyone else wasting their time closing 100+ duplicates.
Comment 7 Julian Ospald 2012-11-15 18:58:49 UTC
I suggest to only file bugs for non-standard build systems or directly for an eclass.

EAPI-controlled build systems (econf) will migrate slowly over time, cause we have the fix in EAPI-5.
Eclass-controlled build systems (such as cmake) can be solved on an eclass level.


Custom Makefiles often need a patch and it's a good thing to report them.
Comment 8 Julian Ospald 2012-11-23 18:06:52 UTC
the devmanual has been patched to reflect the input of the dev community

http://git.overlays.gentoo.org/gitweb/?p=proj/devmanual.git;a=commit;h=b373edb4fbb2f619b0f153985a9e1b5d8c8f3220

to rephrase this a bit:

Bugs should be filed...
* if the build system does not use econf or something conrollable by an eclass (such as cmake or games). Otherwise we assume that ebuilds migrate to EAPI=5 over time which solves this anyway.
* for the eclass that controls the build system (e.g. cmake) or the package in another way (e.g. games.eclass or gnome2.eclass)
* for a single ebuild if there are no solutions above ebuild-level