[Pkg-samba-maint] debian-only patches break upgrading our python3 bindings (was: Re: Bug#814928: build python3 bindings)
Matthias Klose
doko at ubuntu.com
Tue Sep 4 16:11:51 BST 2018
On 04.09.2018 16:57, Timo Aaltonen wrote:
> On 01.07.2018 12:47, Mathieu Parent wrote:
>> (See thread at https://alioth-lists.debian.net/pipermail/pkg-samba-maint/2016-April/018139.html
>> and commits at https://salsa.debian.org/samba-team/talloc/commits/7e58e2de17d62818913a08bece2d4bb5dce898a2)
>>
>>
>> Le dim. 3 avr. 2016 à 23:22, Jelmer Vernooij <jelmer at samba.org> a écrit :
>>>
>>> On Mon, Apr 04, 2016 at 09:08:25AM +1200, Andrew Bartlett wrote:
>>>> On Sun, 2016-04-03 at 20:44 +0000, Jelmer Vernooij wrote:
>>>>
>> [...]
>>>>> I don't think it's fair to say that reverting the symbols patch is
>>>>> breaking the symbols. The symbols are broken by design as they
>>>>> include
>>>>> the upstream version string, meaning each new version will change the
>>>>> names of all symbols:
>>>>>
>>>>> E.g.:
>>>>>
>>>>> + pytalloc_reference_ex at PYTALLOC_UTIL.PY3_2.1.5 2.1.6
>>>>>
>>>>> (notice the _2.1.5 at the end of the symbol name)
>>
>>>> That looks OK to me. In this case it is odd, because the .PY3_2.1.5
>>>> symbol first appears in our new 2.1.6 package.
>>>>
>>>> The next version will, like the python2 package, only add the name of
>>>> new symbols.
>>>>
>>>> With the patch I removed in place however, it did do what you say:
>>>>
>>>> Each new talloc version broke all the symbols, as no old version
>>>> numbers were embedded in the symbols.
>>>>
>>>> (The fact that 2.1.5 and 2.1.6, and -py3 and .py3 are visually similar
>>>> makes this all the more mind-bending).
>>> Ah, oops. I missed the @ in there for some reason.
>>>
>>> Looks okay to upload for me.
>> Hi,
>>
>>
>> py3 talloc support was removed and I want to re-introduce it (Timo
>> proposed a MR about this).
>>
>> The package is ready (for experimental) but it has this line in the
>> symbols file:
>> PYTALLOC_UTIL.CPYTHON_36M_X86_64_LINUX_GNU_2.1.13 at PYTALLOC_UTIL.CPYTHON_36M_X86_64_LINUX_GNU_2.1.13
>> 2.1.13
>>
>> (See https://salsa.debian.org/samba-team/talloc/commit/f3c5f776644675c27efe54a4d69f2defbfd9e4e9#d26ddfb231ded4a98ae501d9114b198b03784eac_5_2)
>>
>> And it contains those files (with python version included) :
>> $ dpkg-deb --contents ../python3-talloc_2.1.13-1_amd64.deb | grep cpython
>> -rw-r--r-- root/root 15688 2018-07-01 09:28
>> ./usr/lib/python3/dist-packages/talloc.cpython-36m-x86_64-linux-gnu.so
>> -rw-r--r-- root/root 18352 2018-07-01 09:28
>> ./usr/lib/x86_64-linux-gnu/libpytalloc-util.cpython-36m-x86-64-linux-gnu.so.2.1.13
>> lrwxrwxrwx root/root 0 2018-07-01 09:28
>> ./usr/lib/x86_64-linux-gnu/libpytalloc-util.cpython-36m-x86-64-linux-gnu.so.2
>> -> libpytalloc-util.cpython-36m-x86-64-linux-gnu.so.2.1.13
>>
>> Is this acceptable or should we patch the build system?
>>
>> Regards
>>
>
> It's what the others have, as for example on Fedora:
>
> http://rpmfind.net/linux/RPM/fedora/devel/rawhide/x86_64/p/python3-talloc-2.1.14-2.fc29.x86_64.html
>
> /usr/lib/.build-id
> /usr/lib/.build-id/7c
> /usr/lib/.build-id/7c/8702e033dd1f22e6707616088cc658d2a73a6b
> /usr/lib/.build-id/94
> /usr/lib/.build-id/94/e84412df74bf27231d62180ec260ebfc57095f
> /usr/lib64/libpytalloc-util.cpython-37m-x86-64-linux-gnu.so.2
> /usr/lib64/libpytalloc-util.cpython-37m-x86-64-linux-gnu.so.2.1.14
> /usr/lib64/python3.7/site-packages/talloc.cpython-37m-x86_64-linux-gnu.so
>
> so looks valid to have it like that, and drop the symbols file as it was
> mentioned to be "the wrong approach" on #814928.
that's what Andrew Bartlett suggested to do. Otoh, I'm surprised again to see
the multiarch triplet encoded again in the library name. But probably it won't hurt.
Matthias
Btw, is somebody working on the ldb and tdb bindings? I remember that there are
build issues with tevent and Python3.
More information about the Pkg-samba-maint
mailing list