Tinderbox quirks

Edwin Groothuis edwin at mavetju.org
Thu Nov 24 23:10:03 EST 2005


On Thu, Nov 24, 2005 at 09:24:36PM -0500, Joe Marcus Clarke wrote:
> On Fri, 2005-11-25 at 13:18 +1100, Edwin Groothuis wrote:
> > In the last weeks practising tinderboxing, I have written down some
> > of the quirks I've experienced. Of course they can be easily dismissed
> > as "this is how you do it" or as "patch local if required":
> > 
> > - phase 2 build still goes on even if phase 1 has failed. Specially
> >   for ports which takes seven days to compile, this is a waste of
> >   time.
> 
> This is by design.  The phase 2 build is there to catch transient build
> problems that may have occurred in phase 1.  A patch to conditionally
> disable phase 2 would be entertained.

What kind of transient build errors are you thinking about?

> > - /proc and /compat/linux/proc filesystem. One works, one doesn't.
> 
> What do you mean?  Which works and which does not?  What does it mean to
> not work?

/proc - when trying to build a port which which required /proc
(can't remember which one, was commited in the last two days),
explicity checked for /proc/curproc and complained that it procfs
wasn't mounted.

> > - echo ^G required when the build is finished. Specially with long
> >   builds and virtual desktops.
> That can be added.

Thank you.

> > - ports and dependencies which are IGNORED don't show up in the
> >   current build page, hard to find reasons why builds fail.
> 
> Yeah, this is a byproduct of the pointyhat stuff.  I can probably fix
> this.

Would be very appreciated.

> > - with left-over files, it's hard to re-run because you have to
> >   delete the file from /spaces/packets/xxx-freebsd/All/xxxx. Option
> >   for buildport?
> 
> Any change to the plist should include a PORTREVISION change.  However,
> if your port is in the database, and you run a tinderbuild specifically
> for that port, it will force a rebuild.

Hmmm... I normally use:

    tc addPort -b ${OSVERSION}-FreeBSD -r -d ${PORT}
    tinderbuild -nullfs -b ${OSVERSION}-FreeBSD ${PORT}

That should be enough, not?

> > - enterjail script should be supported. nothing beats being able
> >   to run a make configure yourself.
> 
> I have integrated this support into HEAD, and I will merge it into the
> 2.x branch for 2.2.0.

Cool!

I have a remark about it:

    Absence of a proper shell kills the usability. For example,
    /work/a/usr/ports/foo/bar/work/bar-x.y.z is not a string you
    want to have to enter three times. After the enterjail stops
    sleeping, I have added a call to a script which copies a lot
    of useful(YMMV) things to /opt, for example bash and friends
    and my makediff script. Then calling /opt/bash and /opt/makediff
    will give you the powers you need while not poluting /usr/local
    and others.

> > - would be nice to have, in the webpage overview, the time it took
> >   to build so you can more or less guestimate how long the next
> >   build will take.
> 
> Agreed.
> 
> If you patch any of these things locally, please submit your patches.

I'll work on it.

Edwin

-- 
Edwin Groothuis      |            Personal website: http://www.mavetju.org
edwin at mavetju.org    |          Weblog: http://weblog.barnet.com.au/edwin/


More information about the tinderbox-list mailing list