Skip to content

Workaround to fix BPO-43112 #10678

Closed
Closed
@dvarrazzo

Description

@dvarrazzo

What's the problem this feature will solve?

In this moment, because of BPO-43112, we are distributing broken musllinux_1_1 wheel packages for Python 3.9 and 3.10, which work on Docker images such as python:3.9-alpine but will not work on the alpine using the system Python.

When BPO-43112 will be solved, there will be a situation of incompatibility, resulting in newly built packages not working on the python-alpine image, for some time, and not working for current images.

Describe the solution you'd like

Pip is in the right place to save the day 🙂 because it could easily rename the broken file on install, if it detects the right conditions (tag musllinux_1_1, .so file suffix mismatching the sysconfig.get_config_vars("SOABI")) it might simply rename the wrongly named library. It has the file system permission to do so and it would work both to make broken wheels work on new images and fixed wheels to work on old images.

Alternative Solutions

A workaround bridge solution of distributing a compatibility symlink (see psycopg/psycopg#161) is hampered by the fact that symlinks in zip files are not handled by the zipfile module (https://bugs.python.org/issue18595, https://bugs.python.org/issue27318).

Additional context

Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions