Make buildSRPMFromSCM faster?

Sérgio Basto sergio at serjux.com
Sat Jul 19 14:37:15 UTC 2014



On Sáb, 2014-07-19 at 12:30 +0100, Richard W.M. Jones 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).

If I understood the question, I use 
fedpkg switch-branch f20 , fedpkg switch-branch master etc and fedpkg
srpm .
> 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?

Just if we have "Source lines might depend on RPM macros which might
depend on any BuildRequire'd" :) 
have you any example , Source lines ? Source lines should be immutable 
I remember put a ifdef in a source line for i386 and src.rpm wasn't
equal for i386 and x86_64, but should, because we only export one of
them. 


> 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 ...
> 
> Thoughts?
> 
> Rich.
> 
> -- 
> Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
> Read my programming and virtualization blog: http://rwmj.wordpress.com
> Fedora Windows cross-compiler. Compile Windows programs, test, and
> build Windows installers. Over 100 libraries supported.
> http://fedoraproject.org/wiki/MinGW

-- 
Sérgio M. B.



More information about the devel mailing list