Mark J. Nelson wrote:

> I guess I'm not imagining changes to nightly.sh that result in
> incremental build failures.

Heh.  Actually, after reviewing the IPS flag day email[1], I think my
original text puts too much constraint on the person changing
nightly.sh.  So I think the text should be

    If developers must do a clobber build after merging in your changes,
    you must send out a flag day notice to that effect.  If incremental
    builds will succeed with warnings, send out a heads-up notice so
    that gatelings know not to worry about the warnings.  If you're not
    sure what will happen with an incremental build, it's okay just to
    recommend a clobber build.

> >>> === Old/new Nightly ===
> >>>
> >>> * new nightly, new source
> >>> * new nightly, old source
> >>> * old nightly, new source
> >>>
> >>> Many developers run ##nightly## from /ws/onnv-tools/onbld/bin, which is
> >>> updated daily.  In general, your new version of ##nightly## should be
> >>> able to build workspaces that haven't yet merged in your changes.
> >>> Note that a workspace might contain old source for the clobber phase
> >>> and then contain your changes for the "make install" phase.  (See also
> >>> the section on "updates" below.)
> >>
> >> The warning about old clobber / new install bits seems unrelated to
> >> which version of nightly.sh you're using?
> > 
> > Well, the point of the warning was not to assume that you're building an
> > "old" workspace or a "new" workspace, because the old/new status can
> > (but need not) change as a result of the pull.  I'm open to other
> > wording. :-)
> 
> I'm not sure it's worth the emphasis.  The clobber portion of nightly.sh
> makes no such assumptions, 

First, I don't think that's entirely true.  For example, nightly.sh
currently has baked into it some knowledge of how the different proto
areas are arranged.  And it has some knowledge of what things in the
source tree can be deleted without penalty.  Even if you consider the
current code to be forward-compatible, since we're talking about
projects that change nightly.sh, someone might change the clobber phase
in a way that works perfectly in a new workspace but trashes something
important in an old workspace.

Second, the point is not so much about what happens during "make
clobber", it's about how nightly.sh determines what to do, and when it
needs to make those decisions.  It took me two tries[2] to get this
right when I split out the closed sources into usr/closed.  I would
prefer that future developers benefit from what I learned in that
process.

>  * old nightly, new source: If this does not work, you will need to send
> a flag day note, preferably with an example of the failure mode.
>  * new nightly, old source: You should make this work if it's reasonable
> to do so.  Otherwise, you will need to send a flag day note, preferably
> with an example of the failure mode.

I believe this is mostly covered by the current text, except I'll add
verbiage about describing known/expected failure modes in the flag-day
email.

mike

[1] http://onnv.sfbay.sun.com/flagdays/pages/20100302184109.html

[2] See CRs 6366373, 6366785.
_______________________________________________
tools-discuss mailing list
tools-discuss@opensolaris.org

Reply via email to