Make buildSRPMFromSCM faster?

Dennis Gilmore dennis at ausil.us
Mon Jul 21 18:58:49 UTC 2014


On Sat, 19 Jul 2014 12:30:38 +0100
"Richard W.M. Jones" <rjones at redhat.com> wrote:

> 
> The first step of most Koji builds is buildSRPMFromSCM, where a
> .src.rpm file is built from the git repo.
> 
> Currently this involves completely building a mock buildroot
> containing all the BuildRequires, and running `rpmbuild -bs'.  This
> takes many minutes (especially when arm is chosen as a builder).
> 
> It seems the reason for this is because the spec file has to be fully
> parsed in order to work out the Source lines.  Since Source lines
> might depend on RPM macros which might depend on any BuildRequire'd
> package, every BR package must be installed in the mock root.
> `rpmbuild -bs' takes seconds because it just bundles all the Source
> files with the spec file into an SRPM.
> 
> Is this really necessary?
This is not at all true. we have a minimal buildroot that is installed
for every single build, the buildroot packages are the same across all
builds. there is no BuildRequires pulled in until the buildArch task


> Two shortcuts seem possible:
> 
> (1) Limit the use of macros in Source lines, so that only a simple,
> standard, perhaps pre-cached buildroot can be used.
> 
> (2) Perhaps uglier: Just build an SRPM that contains everything in
> dist-git + everything in the lookaside cache, and hope for the
> best ...
This is what we do now.

Dennis


More information about the devel mailing list