[PATCHES] Port pytalloc to Python 3

Simo simo at samba.org
Mon Dec 8 12:33:10 MST 2014


On Mon, 2014-12-08 at 16:44 +0100, Jelmer Vernooij wrote:
> On Mon, Dec 08, 2014 at 10:12:08AM -0500, Simo wrote:
> > On Mon, 2014-12-08 at 14:22 +0100, Petr Viktorin wrote:
> > > On 12/05/2014 02:50 PM, Alexander Bokovoy wrote:
> > > > On Fri, Dec 5, 2014 at 2:27 PM, Petr Viktorin <pviktori at redhat.com> wrote:
> > > >>>>> For talloc, tdb and ldb it makes sense to support both python2 and
> > > >>>>> python3. For Samba itself, the burden of maintaining support for both
> > > >>>>> is much higher, and the benefits smaller.
> > > >>>>
> > > >>>> Yes. However, talloc/tdb/ldb support for both Python2 and Python3
> > > >>>> means there is need to improve our build system to support both Python
> > > >>>> versions so this task is relevant.
> > > >>
> > > >>
> > > >> Just to clarify: Are you just saying it needs to be possible to build Samba
> > > >> with Python 3?
> > > >> Or are you proposing that the modules for both Python 2 and 3 be built in
> > > >> the same configure/make run? It seems (to me, currently) that this would
> > > >> require rather big changes in Waf, while a configure-time switch for the
> > > >> Python version is practically free.
> > > > The latter because how otherwise would you be able to package both
> > > > python2 and python3 modules when packaging Samba?
> > > > We are not going to have two more samba packages differing in their
> > > > python bindings.
> > > 
> > > Right.
> > > Since that the stand-alone libraries will need to support both versions 
> > > for a longer time, it does make sense to invest in adding this to the 
> > > build system. I'll put some effort into that.
> > > 
> > 
> > I do not think it is reasonable to drop Python 2 support in the short
> > term. We have a ton of people still recompiling and installing on older
> > OSs that do not have Python 3, and I am not talking only about
> > RHEL/CentOS 6 or older Ubuntu LTS but also other Unix flavors.
> Python3 was released in 2008. All supported Ubuntu LTS releases (lucid and
> later) ship Python3. Does RHEL 6 not?

No.

> > 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.

> 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.

> > 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 ?
I have 2 projects that build on both python2 and python3 and I do not
see a significant overhead.

Simo.

-- 
Simo Sorce



More information about the samba-technical mailing list