Bug 1377445

Summary: Let %make_build and/or %configure disable silent builds
Product: [Fedora] Fedora Reporter: Debarshi Ray <debarshir>
Component: fedora-rpm-macrosAssignee: Jason Tibbitts <j>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: j
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-10-01 01:20:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Debarshi Ray 2016-09-19 17:40:17 UTC
Now that we have %make_build instead of 'make %{?_smp_mflags}', it would be nice if it could also turn off silent builds in Automake-using packages. Alternatively, %configure could do it too.

Comment 1 Jason Tibbitts 2016-09-19 18:09:41 UTC
I thought this would be a great idea and figured it would be a trivial fix, but it turns out that %make_build comes from /usr/lib/rpm/macros, which is part of RPM itself, not redhat-rpm-config.  Which means that I could override it in a Fedora-specific package, but instead I will probably have to go to RPM directly.  I'll give it a try.

Comment 2 Jason Tibbitts 2016-10-01 01:20:11 UTC
Well, it turns out that's just not going to happen.  There's not really any way to know what passing V=1 to any specific makefile is going to do.  Would be nice though.  I'm not sufficiently familiar with autoconf to know what you would pass to %configure to turn on build verbosity.

And %configure is also part of upstream RPM, so... this should all be a discussion for RPM upstream.  I don't think that it would be a particularly good idea to try and override RPM's definition of %configure, so I'm going to go ahead and close this here.

Comment 3 Debarshi Ray 2016-10-03 13:28:34 UTC
(In reply to Jason Tibbitts from comment #2)
> Well, it turns out that's just not going to happen.  There's not really any
> way to know what passing V=1 to any specific makefile is going to do.  Would
> be nice though.  I'm not sufficiently familiar with autoconf to know what
> you would pass to %configure to turn on build verbosity.

--disable-silent-rules

> And %configure is also part of upstream RPM, so... this should all be a
> discussion for RPM upstream.  I don't think that it would be a particularly
> good idea to try and override RPM's definition of %configure, so I'm going
> to go ahead and close this here.

Never mind. Thanks for looking into this, anyway!

Comment 4 Jason Tibbitts 2016-10-03 13:46:45 UTC
I filed https://bugzilla.redhat.com/show_bug.cgi?id=1381249 just in case.  I do wish we could rethink the split in macros between rpm itself, redhat-rpm-config and the *-rpm-macros, but that's a much bigger discussion.

Comment 5 Jason Tibbitts 2016-10-04 19:12:22 UTC
Seems I'm dumber than I thought.  redhat-rpm-config _already_ overrides the definition of %configure.  In fact, it used to include this by default, for while at the end of 2011.  It was reverted due to breakage, probably because there was no way to turn it off per-package.  I went ahead and put it back in, sort of.

In current rawhide, the configure arguments will include --disable-silent-rules if %_configure_disable_silent_rules is defined.  It is not currently defined by default, but now toggling it on is easy to do later and disabling it (if necessary) is as easy as adding an %undefine at the beginning of your spec.

So.. progress.  Going any further will require a full rebuild to shake out what might be broken.  I sadly can't commit the time to do that at the moment.  But basically, the infrastructure is in place for this to happen easily.

Comment 6 Debarshi Ray 2016-10-05 13:22:36 UTC
(In reply to Jason Tibbitts from comment #5)
> So.. progress.

Awesome! Thank you.