Symbols for Python3 based builds

Matthias Klose doko at ubuntu.com
Thu Feb 21 14:22:02 UTC 2019


On 21.02.19 13:41, Alexander Bokovoy wrote:
> On to, 21 helmi 2019, Matthias Klose via samba-technical wrote:
>> On 21.02.19 12:52, Andreas Schneider via samba-technical wrote:
>>> See the thread at [1] which included patches to fix this.
>>
>> Sure I can patch these on my own.  Is this something that upstream wants to get
>> done by every downstream themself?
> I'd prefer we work within the context of that thread to find out a
> better solution. Please note, though, that Python core team considers
> differences in the ABI between multiple Python versions a reason why it
> is done this way.
> 
> See https://www.python.org/dev/peps/pep-3149/ for specifics. Both
> Debian and Ubuntu were cited as a reason for the change in 2010.

Ok, I've ben involved with this PEP back then, and I think your conclusions are
going in the wrong direction.  The PEP was about encoding the architecture and
the python version into the file names, so that you can install these files
together in the same directory hierarchy.  In Debian/Ubuntu in
/usr/lib/python3-dist-packages, which makes it much easier for distros to do
Python transitions.

In the Python2 world, you had explicit directories
/usr/lib/python2.X/site-packages, which had to contain common .py files for each
Python version, and you had the same file names for the bytecode and extension
files.

The Python ABI has always been specific to a python major version, that is
nothing new in Python 3.x.  So why introduce this versioning with Python3, when
it was ignored with Python 2?

The second issue is the encoding of the architecture, which is unusual, and
causes some pain for Debian's symbol files to track ABI compatibility.

Matthias



More information about the samba-technical mailing list