On Sat, 24 Nov 2018 09:49:01 +0100 Giovanni Mascellani <[email protected]> wrote:
> Package: boost1.67
> Version: 1.67.0-10
> Severity: important
>
> Hi,
>
> the symbolic links created in Python-related Boost packages are
> currently inconsistent, both with the past and between themselves. While
> some change was actually intended to happen, the current situation does
> not seem ideal. This bug is to discuss what Boost maintainers want to
> happen with Python libraries and associated symbolic links.
>
> The following is my proposal; other Boost maintainers and other
> interested parties, please comment on it, so that Boost maintainers can
> take a final decision reasonably quickly.
>
> There are currently three Python-related packages in Boost, which are
> "python", "mpi-python" and "numpy". The variable PACKAGE will iterate on
> their underscore versions (which are "python", "mpi_python" and
> "numpy"). The variable BOOST_VERSION will contain the Boost version,
> currently "1.67.0". The variable PY2_VERSION and PY3_VERSION will
> iterate on the supported Python 2 and 3 dotless versions (currently
> "27", "36" and "37" if I am not mistaken). The variable PY2_DEFAULT and
> PY3_DEFAULT will take the value of the default Python 2 and 3 versions
> (currently "27" and "36").
>

There are additional caveats here, is that upstream used to only
support one python version, and call everything just python.
It was debian that used the -py suffixes to try to build boost for
multiple python versions.
Later upstream started to support python and python3 abis, for default
python2 and python3 respectively, which is well, also not good enough.
And eventually they have switched to just XY suffixes, to build and
co-install for multiple versions.

I like the final / current state of the upstream names And I would
want to drop everything else.

Mostly, because In terms of what boost builds here, it is irrelevant
what the default version is. And people need to know which versions
they are building for and use the matching boost bits.

And hopefully, the sonames will converge to the newest upstream abi
names across all distros such that this is no longer an issue.

Thus I'd want to simply compile and install just the:

libboost_${PACKAGE}${ALL_SUPPORTED_XY_PYVERSIONS}.so.${BOOST_VERSION}

e.g. currently libboost_python{27,36,37}.so.1.67.0

and nothing else, no symlinks to -py things, nor to the "default"
versions. As that ultimately is the current vision upstream and makes
a lot of sense downstream too.

similarly, there is upstream support for tags to support dbg builds to
e.g. finally ship libboost_python27d.so.1.67.0 for the python-dbg
build.

Dropping those old symlinks will need full-archive rebuild, and I
thought it would be too disruptive to include that with the 1.67 by
default transition. Maybe once the dust settles more, we can make a
move to drop all the additional symlinks.

Regards,

Dimitri.

Reply via email to