bugzilla #164441 (mock-helper and basedir)

Dan Williams dcbw at redhat.com
Sun Feb 26 02:03:11 UTC 2006


On Fri, 2006-02-24 at 22:38 -0600, Clark Williams wrote:
> On Fri, 2006-02-24 at 18:10 -0500, Dan Williams wrote:
> > 
> > I can't speak for Seth, but I'm fairly sure the answer here is "use bind
> > mounts".  Seth is very big on the FHS, and in the FHS, that's where the
> > buildroots and other stuff for mock are supposed to live.  I've asked
> > about this long ago, when starting to use mock for the build system, and
> > that was the answer.  Seriously, bind mounts are neither complicated,
> > nor problematic, though I haven't done a ton of testing with NFS.
> > 
> 
> I didn't mean to imply that I'm not confident of my ability to *use*
> bind mounts, just that I'm suspicious of remounting a network
> filesystem. Fifteen or so years of wrestling with NFS have made me leery
> of layering anything on top of it.
> 
> > The other question is why you want the buildroots on NFS in the first
> > place.  Unless you have blazingly fast storage, it's likely that local
> > SCSI disk will be quite a bit faster than NFS.  Since creating buildroot
> > and doing the actual builds involves _quite_ a lot of IO, the same issue
> > applies; local storage is likely better unless you've got really a fast
> > path to the shared storage.
> 
> The main reason I'd like to have an arbitrary location for buildroots is
> that in our farm system, multiple builds may be occurring on a compile
> host at the same time (e.g. one person building for a MIPS and another
> building for ARM). Having them both collide in /var/lib/mock wouldn't be
> fun. Since each architecture has it's own space on the NFS server (which
> is connected via gigabit ethernet to the compile systems), if you stay
> in your own sandbox, you don't collide with anyone else.

Ok; if you want different directories for different architectures, there
are two ways to do it:

1) in the mock config file for the target, change the 'root' option to
include your architecture.  Then pass '-r <target>' on the mock command
line

2) use the --uniqueext=<unique extension> option on the mock command
line to futher unique-ify your buildroot

Dan





More information about the Fedora-buildsys-list mailing list