[CentOS-devel] build-from-scratch: SRPM Build order now working

"Brian Schüler"

Brian.Schueler at gmx.de
Fri Aug 22 15:57:49 UTC 2008

Hi folks,

Calculating the build order out of a set of source RPMs is now possible (even with BuildRequires
from sources which are not included). The little trick  rpm -E "`cat foo.spec`"  did it. Special thanks
to Jeff J.! But I have to shorten the output to the essentials because 'rpm' is crashing when the output
of the spec file is too long.

Here an example for alsa-lib package:

[root at centosmirror alsa-lib-1.0.14-1.rc4.el5]# rpm -E "`cat alsa-lib.spec`"
*** buffer overflow detected ***: rpm terminated
======= Backtrace: =========


build-from-scratch only need a subdirectory called SRPMS with source packages and
their additional (not included in CentOS-base) dependencies in. The packages are
built on a (remote) mock build server where the ssh-agent must be running and the
build server's key added to avoid interaction. The resulting sub directory (i.e. i386)
must be published on a http server just-in-time to make it accessible for the mock
build server.
build-from-scratch checks the setting of the build server, then it calculates the
build-order and does some sanity checks on the SRPMs. After that it begins to
compile all SRPMs each in a clean build root in the right order. Build errors and
dependency lacks are reported on the __BAD subdirectory within the output directory.
This is also a great tool for writing high-quality .spec-files.

Build-from-scratch can be downloaded from:
(it needs createrepo and httpd installed.)

My hint: Please read it with care before executing.

VDR (the digital video disk recorder) is now completely mock-buildable on
CentOS-5 and may be added to a contrib-testing-like repository
(it is located at http://c.dyndns.org/brian/pub/centos/5/vdr).
RPMforge does only accept .spec files where the original URLs to the source
tarballs have partially been vanished or are changing in the future (which
is not a good idea, I think). So I would have to get storage space there. 

I hope the build order calculation function helps accelerating the build process
for the people who build CentOS and packages for it.


GMX Kostenlose Spiele: Einfach online spielen und Spaß haben mit Pastry Passion!

More information about the CentOS-devel mailing list