On Sun, Dec 20, 2009 at 06:40:41PM +0100, Jan Engelhardt wrote:
Hi,
Most of SUSE specfiles include %{?jobs:-j%jobs} for parallel execution. It is also a well-known fact that quite some time is spent with setting up roots, etc., and compiling projects that can only do -j1.
To keep the machine busy, I would increase the number of parallel build instances running. Furthermore, to not let parallel building go out of hand, I would switch from make -jX to make -lX.
This would be straightforward to change in .rpmmacros (and/or build's equivalents, respectively):
%_smp_mflags -l24
SUSE's specfiles however use a hardcoded %{?jobs:-j%jobs} (historic reasons?) which makes it impossible to easily change to other make flags. I could try touching the $MAKEFLAGS environment variable, but that may as well be reset, ignored, or whatever. In other words, I would prefer -l24 on the command-line.
To that end, I am suggesting to change all %{?jobs:-j%jobs} found in specfiles by %_smp_mflags. It should be possible to do this in an automated fashion — projects which are not using -j%jobs in the first place (e.g. because they just are not capable) will not be affected anyway.
N.B.: watch out for scons %{?jobs:--jobs=%jobs} which uses --jobs instead of -j.
Thoughts?
What do the Packaging Guidelines say about it? And btw, this is after you submitted 100+ packages already with the old style? :(( It will be quite a time waster to do it again. Ciao, Marcus -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org