On Sat, 20 Jun 2020 at 00:38, Miro HronĨok <mhroncok@redhat.com> wrote:
On 19. 06. 20 23:11, Ben Cotton wrote:
> All make invocations in spec files that don't use the install target will be
> modified to use the %make_build macro

Many Python packages build Sphinx documentation with variant of "make html".
Such invocation will always be just 1 job. Hence there is no benefit of parallel
make. Replacing it with %make_build will only make it harder to read.

Can we exclude such cases? Or do we want all make invocations to be mecronized,
even if there is no benefit?

The way I understand it is that %make_build would be a replacement for the "make all" target with N jobs, which is called by default when you just run "make". That would be the all-in-1 scenario when you want to build the main binaries, docs and examples. If there is only 1 target (html) and you run "make" with N jobs, there is no downside, because only that single target gets picked up.

I really like the proposal and kind of sort of agree with Tomasz that if a build requires -j1 explicitly and fails with -jN, it means the target dependency tree was not defined properly and should be fixed. The only time I ever run "make" with -j1 is when debugging to get a clean, sequential log output. So the way one can handle target resolution issues is with the proposed %global _smp_mflags -j1 or with a unified patch + submission to upstream to fix the bug.

~Andy