[PATCHES] Port ldb to Python 3
Alexander Bokovoy
ab at samba.org
Thu Aug 13 13:12:07 UTC 2015
On Thu, 13 Aug 2015, Petr Viktorin wrote:
> On 08/12/2015 10:53 PM, Stefan Metzmacher wrote:
> > Hi Petr,
> >
> >>>>>> When creating DNs and attribute values, both text and bytes are
> >>>>>> acepted.
> >>>>>> This allows creating messages from homogeneous dicts (where
> >>>>>> values and
> >>>>>> "dn" are all either text or bytes).
> >>>>>>
> >>>>>> Similarly to the tdb bindings, LDB Messages and MessageElements
> >>>>>> have a
> >>>>>> .text attribute, which offers a text view on the contents: any
> >>>>>> value
> >>>>>> retrieved from it will be decoded using UTF-8. The wrapper is
> >>>>>> implemented in a new Python module.
> >>>>>>
> >>>>>>
> >>>>>> -- Petr Viktorin
> >>>>>>
> >>>>>> From c65e8f315077a0a0fef3f9cf164850ce6d813951 Mon Sep 17
> >>>>>> 00:00:00 2001
> >>>>>> From: Petr Viktorin <pviktori at redhat.com>
> >>>>>> Date: Tue, 9 Jun 2015 10:31:22 +0200
> >>>>>> Subject: [PATCH 2/9] ldb: Build for two Python versions at once
> >>>>>
> >>>>> Shouldn't that be the last patch? I guess this will only
> >>>>> work after all the other fixes.
> >>>>
> >>>> Well, having this in first made it possible to work on the porting
> >>>> patches. It doesn't break things, because you still need to
> >>>> configure
> >>>> with --extrapython=python3 to enable this.
> >>>>
> >>>> You can reorder the patches and apply this at the end; it doesn't
> >>>> conflict with the others.
> >>>>
> >>>>> Other than that I'm happy with the changes.
> >>>>
> >>>> Thanks for reviewing!
> >>>
> >>>
> >>> Hello,
> >>> Anything I can do to help push this forward?
> >>
> >> Not really, and I do appreciate your patience. I've just not had a
> >> chance to look over it in detail yet.
> >
> > I've reviewed most of the patches see
> > https://git.samba.org/?p=metze/samba/wip.git;a=shortlog;h=refs/heads/master3-python
> >
> > I have just a couple of questions.
> >
> > This one needs to be squashed
> > https://git.samba.org/?p=metze/samba/wip.git;a=commitdiff;h=985f384e1fe3d998c032eb17f01d991ea33fdbfb
> > into
> > https://git.samba.org/?p=metze/samba/wip.git;a=commitdiff;h=b8aaa4a020d6d36972fdf6fb33d762b9321699a7
> > otherwise the build with --picky-developer fails.
>
> Thanks; I'll need to enable that option for my builds.
>
> > I've added some TODO's here:
> > https://git.samba.org/?p=metze/samba/wip.git;a=commitdiff;h=5e00a20e55baa3f83d69bf0dc9280527a3af7ae1
> >
> > As I'm trying to use --extra-python=/usr/bin/python3 on ubuntu 14.04
> >
> > I've got the following when trying to bump the ldb version.
> >
> > https://git.samba.org/?p=metze/samba/wip.git;a=commitdiff;h=0604992f1a185557102881e4837bef291696053e
> >
> > A pyldb-util.cpython-34m-1.1.22.sigs is generated, the question would
> > how can we have just
> > one pyldb-util-1.1.22.sigs that is checked for both versions or we need
> > a python2 and a python3 file. But that should not depend an the exact
> > python3 version.
>
> I can see if I can convince the buildsystem to replace the
> ".cpython-34m" with something like ".py3".
> That would affect pytalloc, pytdb, pytevent as well, so I see it as
> orthogonal to these particular patches.
>
> In talloc, pytalloc_CObject_FromTallocPtr is not available for Python 3
> (and if a replacement is re-added, it would need a different name). So,
> one file for both Pythons won't work.
>
> As for the ABI itself, it *is* tied to the exact Python version, even
> for py2 (unless we'd switch to only use Python's stable ABI subset, but
> that's not available for py2). I guess that doesn't matter for the
> signatures file, though.
It doesn't -- signature files are to track our ABI, not what we use from
Python side.
--
/ Alexander Bokovoy
More information about the samba-technical
mailing list