svn commit: r185499 - head

M. Warner Losh imp at bsdimp.com
Thu Dec 4 08:39:06 PST 2008


In message: <20081204095756.GP27096 at elvis.mu.org>
            Alfred Perlstein <alfred at freebsd.org> writes:
: * M. Warner Losh <imp at bsdimp.com> [081201 21:12] wrote:
: > In message: <20081201132554.GD27096 at elvis.mu.org>
: >             Alfred Perlstein <alfred at FreeBSD.org> writes:
: > : * Dag-Erling Sm??rgrav <des at des.no> [081201 03:25] wrote:
: > : > Tim Kientzle <kientzle at freebsd.org> writes:
: > : > > Alfred Perlstein <alfred at freebsd.org> writes:
: > : > > > Log:
: > : > > >   Provide a 'tinderbox' target that compiles enough of FreeBSD that
: > : > > >   a developer can rest reasonably assured that the tinderbox will not
: > : > > >   be broken.  This target leverages most of 'universe' but will exit
: > : > > >   non-zero and output a summary at the end.
: > : > > >     "make tinderbox"
: > : > > Excellent!
: > : > 
: > : > I really don't see the point, especially now that 'make universe' will
: > : > issue a warning on stdout for every build that fails.  As I've tried to
: > : > explain to Alfred, the tinderbox does nothing magical, and nothing that
: > : > isn't already covered by 'make universe'.  I also asked him to discuss
: > : > any changes with Poul-Henning before committing them.
: > : 
: > : I'll summarize the changes here:
: > : 
: > : Problems with make universe:
: > :   1) Make universe returns success on failure.
: > :   2) Make universe outputs the following on failure:
: > :     --------------------------------------------------------------
: > :     make universe completed on `LC_ALL=C date`"
: > :                        (started ${STARTTIME})"
: > :     --------------------------------------------------------------
: > : 
: > : This basically means you can't chain 'make universe' into something
: > : like "make tinderbox || (echo oops | mail -s tinderbox failed...)".
: > : 
: > : The summary at the end "completed" is very misleading.
: > : 
: > : The tinderbox target differs as follows:
: > : 
: > :   It returns an error if it fails.
: > :   It outputs a summary of the failures at the end.
: > :   The name reflects what its for. ("what the heck is a universe?")
: > : 
: > : 
: > : If you strongly believe that a target should return "true" on failure
: > : and/or output "i worked" on failure then I'm not sure how to approach
: > : that mindset, maybe you can help me understand where you're coming from
: > : on that?  Where is the utility in it?  Is there something I'm missing?
: > 
: > I think you ignored the discussions that said that 'universe' should
: > be modified to exit with an error when there was an error, but
: > shouldn't bail out EARLY.  There were even patches to do this.
: 
: Interesting, I didn't see them and they weren't committed.
: 
: The owner/maintainer of universe hasn't really stepped up to
: provide anything and ask me "hey Alfred, would this be helpful?"
: and the owner/maintainer of tinderbox has not either.
: 
: Mostly the two of them have told me "you do it, or shut up", so I
: did it.

Except in public there were others involved that had also done it.

: > Based on that, why do something completely new and different?
: 
: New and different?  What?
: 
: Maybe you can explain to me what's so earth shattering new and
: different about having a make target behave like most any other
: sane make target and have a name that is self-documenting?

It invents a completely new target to do what the originator of
universe said was the right behavior for universe.  bz had even posted
patches to make universe work this way.

: There is a 'tinderbox' target, which is named so that when someone
: says "gee, I wonder how to satisfy the tinderbox" they do not need
: to read a wiki, blog, handbook, manpage, check IRC, news group
: or mailing list archive to figure out, they can just run it and
: get something that makes sense.

'Tinderbox' makes no sense to me because the tinderbox that's run only
does one architecture.  Your 'tindrebox' target does all the
architectures, which doesn't make any sense to me.

: Anyhow, I don't really care what's done so as long as there's a 
: top level target that does what I just committed, so if someone wants
: to redo how I did what I did in order to get the exact same results
: they can be my guest.
: 
: I would hope that they have better things to do though.

Why duplicate a bunch of code in the toplevel makefile and make it
even more complicated than it already is?  That way leads to long-term
problems...

Warner


More information about the svn-src-all mailing list