[PATCHES] Port pytalloc to Python 3

Jelmer Vernooij jelmer at samba.org
Mon Dec 8 13:24:11 MST 2014


On Mon, Dec 08, 2014 at 02:33:10PM -0500, Simo wrote:
> > > Forcing people to recompile Python 3 on those systems just to get Samba
> > > to run on them seem a little bit excessive. (And please do not propose
> > > to embed a version of python3 in our sources or my head will explode! :)
> > I agree shipping Python3 sources is a terrible idea. :-)
> > 
> > This would only affect those people that want a new *major* version of Samba
> > and run an OS that ships Python2 but not Python3, in a year from now. Is
> > that really going to affect more than a handful of people?
> 
> Yes.
What kind of users? Which specific platforms are they on? Platforms
like IRIX and AIX don't bundle any version of Python as far as I know.

Are there really many people compiling new Samba major releases from scratch on
RHEL 6, without using some third party package repository?

> > If these users are really an issue, then let's just wait some more time until
> > we attempt a migration from Python2 to Python3. 
> 
> We are being simultaneously being pushed to python3 by bleeding edge
> distros (like Fedora) and being pulled back by trailing ones.
> I do not think postponing is a solution.
We could postpone for a while longer since as you say, Python2 will
probably be around for some time to come. That said, I am also not convinced
we couldn't get away with dropping Python2 support.

> > > I think the only reasonable way to go to have a smooth transition for
> > > our downstreams is to support both Python2 and Python3 in our code for
> > > at least a coupe of years.
> > This means a lot of overhead for Samba developers over a couple of years,
> > without a clear benefit.
> 
> Can we quantify this overhead ?
We'll need to run our testsuite with both Python versions to prevent
regressions.

The overhead of writing code that works on both Python2 and Python3 is hard to
quantify but there are quite a few major differences and some subtle
differences, especially in C bindings. All of these take up extra time when
writing bindings and Python code. We'll have to deal with testsuite failures
because code only runs on one Python.

> I have 2 projects that build on both python2 and python3 and I do not
> see a significant overhead.
What kind of projects, and how large?

I've worked in a couple of projects that support Python2 and Python3
and been a part of attempts to bilingualize others. In every situation it's
made the development process more complicated and frustrating.

Jelmer


More information about the samba-technical mailing list