Choosing a new build system for Samba

Stefan (metze) Metzmacher metze at samba.org
Fri Mar 19 06:31:49 MDT 2010


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.

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.

metze

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 260 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20100319/1d5c1fe1/attachment.pgp>


More information about the samba-technical mailing list