Skip to content

fix: skip legacy manylinux aliases not in PyPI allow-list#3078

Merged
messense merged 1 commit into
PyO3:mainfrom
messense:fix/manylinux2014-riscv64-pypi-tag
Mar 10, 2026
Merged

fix: skip legacy manylinux aliases not in PyPI allow-list#3078
messense merged 1 commit into
PyO3:mainfrom
messense:fix/manylinux2014-riscv64-pypi-tag

Conversation

@messense

@messense messense commented Mar 9, 2026

Copy link
Copy Markdown
Member

manylinux_2_17 has manylinux2014 as a legacy alias, but PyPI static allow-list never included manylinux2014_riscv64. This caused wheels built with --manylinux 2_17 for riscv64 to fail PyPI validation.

Only add legacy alias tags when the full tag (alias + arch) exists in PyPI ALLOWED_PLATFORMS list.

`manylinux_2_17` has `manylinux2014` as a legacy alias, but PyPI static
allow-list never included `manylinux2014_riscv64`. This caused wheels
built with `--manylinux 2_17` for riscv64 to fail PyPI validation.

Only add legacy alias tags when the full tag (alias + arch) exists in
PyPI `ALLOWED_PLATFORMS` list.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adjusts platform tag generation to avoid emitting legacy manylinux alias tags that PyPI will reject (e.g., manylinux2014_riscv64), fixing validation failures for --manylinux 2_17 on riscv64.

Changes:

  • Import PyPI’s static ALLOWED_PLATFORMS allow-list.
  • Gate legacy alias tag emission on presence in ALLOWED_PLATFORMS.

Comment thread src/target/platform_tag.rs
@messense messense merged commit 896b648 into PyO3:main Mar 10, 2026
47 of 48 checks passed
@messense messense deleted the fix/manylinux2014-riscv64-pypi-tag branch March 10, 2026 00:04
bmwiedemann pushed a commit to bmwiedemann/openSUSE that referenced this pull request Apr 14, 2026
https://build.opensuse.org/request/show/1346282
by user mia + dimstar_suse
- Update to version 1.13.1
  * fix: fall back to placeholder for abi3 when found interpreters
    are too old
    gh#PyO3/maturin#3126
- Changes in version 1.13.0:
  * Sync legacy_py.rs with upstream PyPI warehouse legacy.py
    gh#PyO3/maturin#3053
  * Fix --strip conflicting with --include-debuginfo in develop
    gh#PyO3/maturin#3057
  * Fix abi3 wheel producing version-specific tags for CPython
    below minimum
    gh#PyO3/maturin#3061
  * Fix data symlink permission handling
    gh#PyO3/maturin#3069
  * fix: correct bugs in audit.rs typo and module_writer
    gh#PyO3/maturin#3070
  * perf: use lazy-initialized regexes instead of per-call
    compilation
    gh#PyO3/maturin#3071
  * fix: skip legacy manylinux aliases not in PyPI allow-list
    gh#PyO3/maturin#3078
  * fix: auto-generat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants