[Buildbot-devel] GSoC: Forward porting to python3

Jørn Lomax northlomax at gmail.com
Wed Mar 11 09:50:37 UTC 2015


I asked the twisted team for a status update on python3 compatability 
(spesificily twisted.sperad.pb). Seems like they are not there quite 
yet[1][2], and they can't really give an eta on it either. It doesn't 
seem like Perpectice Broker is given any priority.

Seems like the idea of an own python3 branch is not the best. 
Maintaining the code to be cross compatible would probably be the best 
then? It would take more effort to review pull requests, but I think it 
would create a better application in the long run.

I think the end goal of python3 compatibility should be for the end user 
not to have to know what version it supports or what they have 
installed. They just run the commands like usual, regardless of python 
version. So if it's run on OS X it will just use what it has available. 
If the end user wants to specify a particular python version, they 
should also be allowed to do that

[1]https://twistedmatrix.com/trac/wiki/Plan/Python3
[2]https://github.com/twisted/twisted/blob/trunk/twisted/python/dist3.py
On 10.03.2015 17:02, Vitali Lovich wrote:
> I would be interested in hearing deficiencies in six that would prevent buildbot from running on both simultaneously.
> I think that would be preferred over maintaining multiple branches.  If it just had to be done once, it might not be such a big deal.
> However, there’s a constant influx of new code which at the very least would have to be ensured to not break the python3 branch
> & worst case would need to be ported depending on incompatibilities or how far diverged the python3 branch was.
>
> On our end, we always use the latest stock version of OS X which does not ship python3.  We could of course install vanilla
> python3 so it’s not the end of the world, but it just complicates deployment, PATHs etc.  It’s probably less of a roadblock for us
> for the buildmaster which tends to have an isolated deployment.
>
> Python2 compatibility on the slave would likely be more important as many of the projects we build
> have python scripts written for Python2; we haven’t even begun to think about Python3 support.  I would worry if the buildslave run
> on Python3 that there would be unforeseen issues building projects requiring python2 (e.g. every step needing an explicit path to choose python2).
>
> Personally, I’d be interested in hearing how the desired python version compatibility is determined.
> I understand that 2.5 is the last version to run on the Windows 9x/ME family - is that the motivation?
>
> -Vitali
>
>> On Mar 9, 2015, at 5:48 PM, Dustin J. Mitchell <dustin at v.igoro.us> wrote:
>>
>> On Mon, Mar 9, 2015 at 8:23 PM, Jørn Lomax <northlomax at gmail.com> wrote:
>>> I think how to handle backwards compatability is something that should be
>>> discussed in greater detail, with input from the community at large. I'm a
>>> fan of just branching the current build and having a dedicated python3
>>> branch. That way the 2.x version will always be up to date and we won't have
>>> to worry about things breaking backwards compatibility. This of course makes
>>> for more work with pulling in patches to two branches and such, so it's a
>>> trade-off. But I'm new to the community, so I don't know how you have
>>> handles things like this in the past and maybe you have a system for this
>>> already? And I see (from 30 mins with the source, so I might be wrong), no
>>> reason that buildmaster can't run python3 while buildslave runs python2
>> We're already running two active branches, more or less -- eight and
>> master.  So adding another one would make things quite a bit harder,
>> particularly if that branch would remain separate until we dropped
>> python2 support (which will likely be several years).
>>
>> You're right that the master and buildslave don't have to run the same
>> version of Python.
>>
>>> I also forgot to mention that the task might seem a little small, but from
>>> experience, it's better to have a project that is a little too small, than
>>> too big. Things happen, code is code, computers are computers, something
>>> unpredicted might show up. If the project is done earlier than thought, I'm
>>> up for working with other tasks or just fixing bugs/documenting
>> That's a great point.  I have no problem with a good, solid proposal
>> for this project.  I would only be worried if the application
>> suggested you were planning on having an easy summer :)
>>
>>> Not sure what parts of twisted are ported. They have 167 tickets marked
>>> Python-3.x, and 69 are still marked active. Looking through them they mostly
>>> seem like enhancements. I can send an email to their ML or drop by on IRC
>>> and ask if you want?
>> The part I would be the most worried about is Perspective Broker.  It
>> would definitely be worth learning the status of that subsystem.
>>
>> Dustin
>>
>> ------------------------------------------------------------------------------
>> Dive into the World of Parallel Programming The Go Parallel Website, sponsored
>> by Intel and developed in partnership with Slashdot Media, is your hub for all
>> things parallel software development, from weekly thought leadership blogs to
>> news, videos, case studies, tutorials and more. Take a look and join the
>> conversation now. http://goparallel.sourceforge.net/
>> _______________________________________________
>> Buildbot-devel mailing list
>> Buildbot-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/buildbot-devel





More information about the devel mailing list