feature request: record build space used

Joe Marcus Clarke marcus at marcuscom.com
Sun Jul 27 14:34:33 EDT 2008


On Sun, 2008-07-27 at 19:59 +0300, Ion-Mihai Tetcu wrote:
> On Sat, 26 Jul 2008 13:03:57 -0400
> Joe Marcus Clarke <marcus at marcuscom.com> wrote:
> 
> > On Sat, 2008-07-26 at 12:37 +0300, Ion-Mihai Tetcu wrote:
> 
>  [ .. ]
> 
> > > Let me try to rephrase it:
> > > What I want to know is how much space is required to build a port
> > > so I can have all that done in memory-backed file system.
> > > 
> > > If I'm understanding the way tindy works correctly that space is:
> > > - the untar'ed jail
> > > - the untar'ed dependecies
> > > - the untar'ed sources of the port to be built
> > > - the results of the build process (.o files, binaries, docs, etc.)
> > > 
> > > The distfiles and packages are kept outside the build dir (which
> > > looks something like /TINDERBOX_ROOT/BUILD_NAME) so they shouldn't
> > > be counted in the necessary space.
> > 
> > But they're not.  Everything needed to install a port is copied to the
> > chroot ({pb}/BUILD) during pre-setup. This way, buildscript can
> > install all the dependent packages, build the port, install it, then
> > create the package.  So the total space required will be sizeof(jail
> > + dependency tbzs + dependencies installed + port built + port
> > installed + package).
> 
> Oh, so the distfiles and and packages are first copied in the chroot? I
> didn't realized that.
> 
> > > The way I see it implemented:
> > > - record the space size for the last build if successful.
> > > - record the space size of the last build if unsuccessful and bigger
> > > that the one currently recorded.
> > > - add a ports_fail_pattered to look for 'out of space'
> > > - have the recorded space exported in prePortBuild hook so that one
> > > could use his favorite mount command for /TINDERBOX_ROOT/BUILD_NAME
> > 
> > All of this is doable, but we need to come to an understanding of what
> > is counted toward total space.  If you agree with what I've said
> > above, then I'll start work today.
> 
>  [ .. ]
> 
> Yes.
> 
> > What about the other two requests (for OS info and dependencies)?  I
> > asked questions about those as well.
> 
> For what I understand from what you wrote above, there's nothing more
> to record but the size of {pb}/BUILD after the package is made.

The dependencies are not stored in the database.  You mentioned you
wanted that as well.  How do you want them stored?  I was thinking of
creating a new port_dependencies table which would link build_port_ids
to port_ids.

Joe

> 
> 
-- 
PGP Key : http://www.marcuscom.com/pgp.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <http://marcuscom.com/pipermail/tinderbox-list/attachments/20080727/4715feaa/attachment.bin>


More information about the tinderbox-list mailing list