pep600_compliance icon indicating copy to clipboard operation
pep600_compliance copied to clipboard

Should we also check for backwards compatibility?

Open lkollar opened this issue 3 years ago • 1 comments

As detailed in Manylinux backwards ABI compatibility guarantees on the Python Discourse, there is a possibility that some Linux distros start dropping old versioned symbols, which would break the assumption that any manylinux wheel is backwards compatible with all lower-version distributions. As an example, in theory, it could happen that a new version of Ubuntu drops versioned symbols for glibc 2.12 and lower. This would mean that none of the manylinux_2_12 or older versions would work on this new version Ubuntu. Such incompatibility wouldn't be detected until runtime.

I am not aware of such compatibility issues so far, and we received reassurance from Red Hat in the Discourse thread that at least up to RHEL 9, there are no plans to drop symbols. However, I think ideally this kind of check should be automated so that we monitor this for all distros checked by pep600_compliance and can catch this in time.

I think such a check could be implemented fairly easily by iterating through all previous symbol versions in the manyilnux policies and checking wether all distros in the policy check still contain them. I'm not familiar with pep600_compliance though, so maybe this is not as trivial as I expect.

lkollar avatar Jan 10 '22 10:01 lkollar

If it's just looking at symbol versions, it's already done. If it's looking at individual versioned symbols, that's another story.

mayeut avatar Jan 13 '22 19:01 mayeut