Samba and Python 3 (Was: Port pytalloc to Python 3)

Andrew Bartlett abartlet at
Mon Jan 12 11:46:54 MST 2015

On Mon, 2015-01-12 at 15:18 +0100, Petr Viktorin wrote:
> On 01/12/2015 02:58 PM, Jelmer Vernooij wrote:
> > On Sat, Dec 27, 2014 at 11:08:52AM +1300, Andrew Bartlett wrote:
> >> On Mon, 2014-12-22 at 18:03 +0100, Petr Viktorin wrote:
> >>> On 12/05/2014 11:10 AM, Andrew Bartlett wrote:
> >>>> On Fri, 2014-12-05 at 11:04 +0100, Petr Viktorin wrote:
> >>> [...]
> >>>>>
> >>>>> If you're asking why *I* don't hold off porting Samba, it's because
> >>>>> Samba it's a part of the Fedora Live DVD, and the goal is to remove
> >>>>> Python 2 from that completely. Porting FreeIPA can wait until later,
> >>>>> when we try to tackle the entire distro.
> >>>>
> >>>> Thanks, that is helpful context.  It has been fun to see Samba become a
> >>>> core and required project for Linux, but it has me curious:  What on the
> >>>> live DVD is using our python bindings?
> >>>
> >>> Thanks for the question, and sorry for my late answer.
> >>>
> >>> The live DVD uses the Samba client. That depends on libsamba-net, where
> >>> "join" and "vampire" use param/provision.c, which imports the provision
> >>> Python module.
> >>
> >> While I'm hesitant to do anything that makes python 'non-core' for Samba
> >> (I want to see us use it more, not less), can you be specific about what
> >> is using the python tools or bindings?  Could all this be put off by
> >> simply not shipping samba-tool on the live DVD?
> >
> > That is a good point. I think the only reason we have Python in libsamba-net at
> > the moment is to invoke the provision scripts. This is not necessary for any of
> > the client side SMB code. If you just need the client side SMB code,
> > perhaps we can split libsamba-net, so you can just ship the client-only side?
> Yes, it might be a packaging-only fix after all. I'm looking into it, 
> it's just going somewhat slowly, as I need to familiarize myself with 
> the codebase at the same time. Thanks Andrew for pushing me in this 
> direction!

Thanks.  I presume other packages will mean we still have to proceed on
python-talloc, but at least we can put off the actual samba bindings for
a little while.  Do we know when python3 is likely to be in RHEL? Samba
is a conservative project by nature, and I think that moving ahead of
that would not gain consensus.  

That is, we should start the transition no sooner than that RHEL with
python3 is released, and aim to complete it in one release cycle,
supporting only one python at the end.  That would give users on older
systems due notice that they will need to install python3 manually, and
many supported older versions in the meantime.   Presumably FreeIPA
would be in a similar position when it attempts to transition, and both
could do it in the same cycle.

Andrew Bartlett

Andrew Bartlett             
Authentication Developer, Samba Team
Samba Developer, Catalyst IT

More information about the samba-technical mailing list