Ferguson, Neale wrote:
Over the past day or so I've been building things like binutils, gcc, and
glibc for a 2.6 kernel I've built on s390. One of the problems I encounter
is something minor may go wrong with a build using "rpm -bb" and the only
option I have is to fix the problem and start from scratch. I note there's a
--short-circuit option but that is only valid for -bc and -bi. Am I missing
something obvious?

I don't think you're missing anything; with large packages like glibc, the install phase tends to be somewhat lengthy. Using --short-circuit can save you a *LOT* of time in making sure that your build and install sections are correct, but it won't actually ever write out an RPM file.

But there's an upside to this kind of restriction.  This ensures that
the RPMs are truly reproducible, and that they didn't require some
manual intervention to get them to build properly.

On the slower platforms I've worked on, the process I use is:
1. build using -ba.  If it worked, celebrate and exit.
2. when there's problems, use --short-circuit and debug until it passes.
3. Go to 1.

Tetex on MIPS took me something like 18 hours to build, once I got the
build running properly.  This was a three week project.

I'm reasonably sure there're some less-documented ways to convince RPM
to go into the RPM file writing phases when using --short-circuit, this
has been a point of controversy for a long time.

Of course, this is all open source, so if you don't like the current
behaviour, you can change it.  You're not the first person to encounter
this, so there may be some existing patches.

But Alan's right, as usual. Try a compiler cache.

- Alex

Reply via email to