Waf 1.8 (Was: Build pytalloc for two Python versions at once, port to py3)

Thomas Nagy tnagy1024 at gmail.com
Fri Mar 13 09:56:52 MDT 2015


On Fri, Mar 13, 2015 at 2:13 PM, Petr Viktorin wrote:
> On 03/13/2015 12:24 AM, Thomas Nagy wrote:
>>
>>
>> There are new changes in the Waf files that deviate even further from
>> waf 1.5.
>
>
> All changes are to wafsamba, except one patch that is already in upstream
> Waf 1.5:
> https://code.google.com/p/waf/source/detail?r=a3a823919592c8dafb629579323fc7ef638302a2&repo=waf15

The changes reading "EXTRAPYTHON" in the py3build.patches file
previously attached are neither in waf 1.5 nor in the waf copy in
master.

>> Unless you want to maintain that Waf 1.5 fork forever, I
>> strongly recommend to focus on waf 1.8 instead. Waf 1.8 has better
>> support for building targets for other python versions, already
>> supports python3 and provides better configuration default for Redhat
>> systems.
>
>
> Can Waf 1.8 build for both Python versions at the same time?

Yes, the code will run under python 2 or python 3 (python >= 2.6). The
samba scripts need minor adjustments that I have not finished
implementing (encoding and syntax matters).

>> I have prepared a proof of concept that builds the branch "master"
>> using Waf 1.8; I believe that about half of the work is done. The
>> differences are very too large to be attached as raw patches, so I
>> have added them as one archive instead:
>> http://ftp.waf.io/pub/developer/tnagy/samba_patches.tgz.gpg
>> (extract with:  gpg -d -o samba_patches.tgz samba_patches.tgz.gpg)
>>
>> I could provide some help to complete the port; for this we would need
>> at least a branch running on the buildfarm and some plans to avoid
>> premature bitrot.
>
>
> For what my opinion is worth, I believe updating to waf 1.8 will be
> necessary eventually, but I think it can be the last thing before Samba
> switches completely to Python 3.

If you are making further changes to waf 1.5, be aware that you may
have to maintain an unsupported fork and in particular reimplement
python 3 fixes already present in waf 1.8. That is more work than
necessary.

Thomas


More information about the samba-technical mailing list