Choosing a new build system for Samba

Andrew Bartlett abartlet at samba.org
Fri Mar 19 16:13:14 MDT 2010


On Fri, 2010-03-19 at 13:31 +0100, Stefan (metze) Metzmacher wrote:
> tridge at samba.org schrieb:
> > Hi Andrew,
> > 
> >  > Clearly there is a very real waf proposal.  Tridge has it on a build
> >  > farm host already
> >  > http://build.samba.org/?tree=samba_4_0_waf&compiler=cc&function=Recent
> >  > +Builds and has it passing almost all of 'make test'.  The wiki page is
> >  > at http://wiki.samba.org/index.php/Waf
> > 
> > A minor update - it is passing 'make test' on some boxes now. I put it
> > on the build farm as samba_4_0_waf a few hours ago, and of course
> > found plenty of problems. I'll look at those over the next few days. 
> > 
> >  > If we maintain the existing system, who will maintain it?  
> >  > ---------------------------------------------------------
> >  > Should we maintain any new build system in parallel, or will we have a
> >  > 'flag day' that we switch on?
> >  > 
> > 
> > I'm in favour of a staged transition. I would imagine the stages would
> > be:
> > 
> >   stage 1) get it working reasonably in a separate branch. For the waf
> >            effort this is my waf-wip branch, and I suspect it will
> >            reach this stage for s4 in the next week or so.
> > 
> >   stage 2) when it looks good and the team agrees, then merge it to
> >            master, but ensuring it changes zero files that impact on
> >            the existing build system (the waf-wip branch now does
> >            this). At this stage maintainence of the new build system
> >            in master would be the responsibility of those who have the
> >            enthusiasm to do it. The old build system would still be
> >            the one we recommend to users, and Samba developers who are
> >            not interested in the new build system would have no
> >            obligation to update the new build scripts for any changes.
> > 
> >   stage 3) once the proponents of the new build system think it is
> >            sufficiently good, then they would propose changing the
> >            default build system to the new one. We'd discuss this
> >            within the team and the wider community and decide if we
> >            would go ahead. If it is decided to change the default then
> >            the maintainence obligation of developers would switch to
> >            the new build scripts. The old build scripts would be
> >            maintained by whoever volunteers to maintain them.
> > 
> >   stage 4) if we get to the stage that nobody is willing to maintain
> >            the old build scripts any more then we could remove them
> >            from the tree.
> > 
> > I don't know how long each of these stages might take. I'd guess that
> > the waf effort will get to the end of stage 1 for Samba4 in the next
> > week or so, but I won't really know till it's done, as I may still run
> > across a problem that is hard to fix. I'd certainly like it to reach
> > that stage before SambaXP.
> > 
> > The other factor is how these stages interact with the s3/s4/merged
> > builds. I think it might be reasonable to have those 3 reach different
> > stages at different times. For the waf effort Kai is starting on the
> > s3 build, but if that takes a while then I don't think it would be
> > unreasonable for the s4 build process to go to stage 2 before the s3
> > build has gotten to the end of stage 1. I could even imagine gettng
> > the s4 build to stage 4 (where the old s4 build system is deleted)
> > before the s3 build with a new system is working. I don't think it is
> > likely to happen that way, but I don't think it is something we have
> > to necessarily avoid.
> >
> > I agree with Andrew that we should try and move to a common build
> > system, and I'd hope that in a years time we can share modules between
> > s3 and s4 more easily as their build rules will be in common, but I
> > don't think a "flag day" is the way to do. I hope the above staged
> > approach is a good alternative.
> 
> I like the staged approach.

I have to say I like this plan too, because it clearly defines the
maintenance responsibilities.  

I'm a bit worried that we won't have the conviction or momentum as a
team to actually commit to the new system.  I think the team probably
just has to take that risk, and to keep the proponent's enthusiasm alive
by ensuring the discussion is respectful and constructive. 

> And I hope the 5th stage is to only build everthing via one build system
> from the toplevel directory. So that every developer build and tests
> everything by default.

+1

Andrew Bartlett

-- 
Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org
Samba Developer, Cisco Inc.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100320/cae759d5/attachment.pgp>


More information about the samba-technical mailing list