<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7232.60">
<TITLE>[RFC, PATCH] Build multiple srpms</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Here is a patch for review. I have made the "obvious" changes in order to be able to do the following:</FONT>

<BR>        <FONT SIZE=2 FACE="Arial">mock -r CFG  srpm1 srpm2 srpm3 srpm4</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Limitations:</FONT>

<BR><FONT SIZE=2 FACE="Arial">- There are no checks for dependencies between the srpms, so they should be independent. (no re-ordering of SRPMS)</FONT>

<BR><FONT SIZE=2 FACE="Arial">- Building one SRPM can leave the buildroot in an inconsistent state for the next SRPM. (no clean of chroot between builds)</FONT></P>

<P><FONT SIZE=2 FACE="Arial">- Failure to build one SRPM stops the whole process.</FONT>

<BR><FONT SIZE=2 FACE="Arial">- Resulting RPMs are not installed into the build environment for use by subsequent SRPMS.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">Reasoning:</FONT>

<BR>        <FONT SIZE=2 FACE="Arial">One problem I have been having with mock is speed. We are using mock to build for 16 distinct configurations. Doing prep on each configuration was taking a minute and a half to two minutes. As an optimization, our mock wrapper script was doing a single prep per chroot and then using --no-clean, but this complicates our wrapper script. I am building a set of related RPMS, so I don have much concern about cross-pollution. This simple patch simplifies my wrapper script considerably.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">Future:</FONT>

<BR>        <FONT SIZE=2 FACE="Arial">One future direction I'd like to take this is a parallel mock that can prep/build multiple configurations at the same time to try to amortize the cost of prep stage by running prep of one environment in parallel with build of a different configuration. Currently, it is taking me an hour to build 16 sets of RPMS (5 SRPMS per set), and I am hoping to get this down. We have already implemented squid and some other measures to try to speed things up.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">--</FONT>

<BR><FONT SIZE=2 FACE="Arial">Michael</FONT>
</P>
<BR>

<P><FONT FACE="Arial" SIZE=2 COLOR="#000000"> <<mock-multi.patch>> </FONT>
</P>

</BODY>
</HTML>