Norman,
For the nightly build to be useful I do not think that the build should just
stop when it encounters one package that fails, as others will still build,
unless it is a critical library.
The software I am using takes care of the capturing of the output from a
target; it also makes a webpage of the output from each target that results
from each package. For the nightly build it would be best if I could
optionally turn off any output capturing the build system does, and allow
the nightly build software take care of it.
Steve.
-----Original Message-----
From: Starlink development [mailto:[log in to unmask]] On Behalf Of
Norman Gray
Sent: 12 October 2004 15:14
To: [log in to unmask]
Subject: Re: make world and nightly builds
Steve,
On 2004 Oct 12 , at 12.50, Rankin, SE (Stephen) wrote:
> Just to clarify, I need the build to at least do the bootstrap phase,
> then I
> can deal with every package on an individual basis even if it fails to
> build, but it would be nice if it did, then I can check that I have
> captured
> all appropriate output.
Do you really have to do all that? While that sounds very useful, it
might be enough to just check the exit status of `make X' (for X TBD),
and if it's non-zero, mail the whole output to stardev. That's
admittedly a good deal cruder than your scheme, but we would _hope_
that a non-zero exit status doesn't happen that often....
Each of the components has a line in Makefile.dependencies of the form
make>make.log && make install>>make.log
I can certainly generate other stuff in that line -- such as a stamp,
perhaps -- if it would help you here. Would sending the stderr to
make.error would be handy?
> I need to be able setup E-mail notifications for
> each package, log its output etc and detect when it fails on a
> particular
> target.
A wrinkle here is that, although the <developers> element in
component.xml was intended to have precisely this sort of information,
we might not have been terrifically consistent about keeping that up to
date. If it were used, however, then I'm sure it would encourage us to
preen this.
> If I can't run the individual target beyond bootstrap, then I can
> not finish the setup of the nightly build properly. We could just have
> a
> nightly build of bootstrap for now, how much use would that be?
It wouldn't necessarily be helpful to try building each component in
turn (if I understand you correctly), since they do depend on each
other. The goal of the top-level Makefile is just to handle these
interdependencies, either by building everything necessary for a single
component (the /xxx/manifests/cpt route) or everything (`make world',
which makes each of the ALL_TARGETS components being discussed in
another thread). Have I got the wrong end of the stick, here?
See you,
Norman
--
----------------------------------------------------------------------
Norman Gray : Physics & Astronomy, Glasgow University, UK
http://www.astro.gla.ac.uk/users/norman/ : www.starlink.ac.uk
|