From c6d91005b33fd59a13b0afebe28c9843d1f2be45 Mon Sep 17 00:00:00 2001 From: Matthew Feickert Date: Fri, 18 Feb 2022 00:37:52 -0600 Subject: [PATCH] [pip] Sanitize release candidates versions to PEP 440 Ensure release candidates are all sanitized to the PEP 440 form of ..rc. Example: ``` from pip._vendor.packaging.version import Version Version("v5.4.1-rc2") # Version("v5.4.1.rc2") # Version("v5.4.1rc2") # ``` --- bindings/python/setup.py.in | 6 ++++++ packaging/wheel/setup.py | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/bindings/python/setup.py.in b/bindings/python/setup.py.in index a43e0eb4062..577dd416945 100644 --- a/bindings/python/setup.py.in +++ b/bindings/python/setup.py.in @@ -66,6 +66,12 @@ if version.startswith("v"): version = version[1:] version_parts = version.split(".") + +# Ensure release candidates sanitized to ..rc +if version_parts[-1].startswith("rc"): + version = ".".join(version_parts[:-1]) + version_parts[-1] + version_parts = version.split(".") + if len(version_parts[0]) == 8: # CalVer date = version_parts[0] diff --git a/packaging/wheel/setup.py b/packaging/wheel/setup.py index 943f2b69265..179b57a9aec 100644 --- a/packaging/wheel/setup.py +++ b/packaging/wheel/setup.py @@ -27,6 +27,11 @@ def get_version(): version_parts = version.split(".") + # Ensure release candidates sanitized to ..rc + if version_parts[-1].startswith("rc"): + version = ".".join(version_parts[:-1]) + version_parts[-1] + version_parts = version.split(".") + # Assume SemVer as default case if len(version_parts[0]) == 8: # CalVer