summaryrefslogtreecommitdiffstats
path: root/Tools
diff options
context:
space:
mode:
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>2023-09-06 18:01:36 (GMT)
committerGitHub <noreply@github.com>2023-09-06 18:01:36 (GMT)
commitdb55cfcbabfe257f5d3aeaffc1c5fe0166030c03 (patch)
tree57276173aa4fbbcf9aecce2df9c8afee07fd2bfe /Tools
parentce3709568b6ff588d971825615a77ab0f7e88406 (diff)
downloadcpython-db55cfcbabfe257f5d3aeaffc1c5fe0166030c03.zip
cpython-db55cfcbabfe257f5d3aeaffc1c5fe0166030c03.tar.gz
cpython-db55cfcbabfe257f5d3aeaffc1c5fe0166030c03.tar.bz2
[3.12] gh-109002: Ensure only one wheel for each vendored package (GH-109003) (#109005)
Output with one wheel: ``` ❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py Verifying checksum for /Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl. Expected digest: 7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be Actual digest: 7ccf472345f20d35bdc9d1841ff5f313260c2c33fe417f48c30ac46cccabf5be ::notice file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl::Successfully verified the checksum of the pip wheel. ``` Output with two wheels: ``` ❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py ::error file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-22.0.4-py3-none-any.whl::Found more than one wheel for package pip. ::error file=/Volumes/RAMDisk/cpython/Lib/ensurepip/_bundled/pip-23.2.1-py3-none-any.whl::Found more than one wheel for package pip. ``` Output without wheels: ``` ❯ GITHUB_ACTIONS=true ./Tools/build/verify_ensurepip_wheels.py ::error file=::Could not find a pip wheel on disk. ``` (cherry picked from commit f8a047941f2e4a1848700c21d58a08c9ec6a9c68) Co-authored-by: Łukasz Langa <lukasz@langa.pl>
Diffstat (limited to 'Tools')
-rwxr-xr-xTools/build/verify_ensurepip_wheels.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/Tools/build/verify_ensurepip_wheels.py b/Tools/build/verify_ensurepip_wheels.py
index 09fd5d9..2989742 100755
--- a/Tools/build/verify_ensurepip_wheels.py
+++ b/Tools/build/verify_ensurepip_wheels.py
@@ -1,4 +1,4 @@
-#! /usr/bin/env python3
+#!/usr/bin/env python3
"""
Compare checksums for wheels in :mod:`ensurepip` against the Cheeseshop.
@@ -35,11 +35,17 @@ def print_error(file_path: str, message: str) -> None:
def verify_wheel(package_name: str) -> bool:
# Find the package on disk
- package_path = next(WHEEL_DIR.glob(f"{package_name}*.whl"), None)
- if not package_path:
- print_error("", f"Could not find a {package_name} wheel on disk.")
+ package_paths = list(WHEEL_DIR.glob(f"{package_name}*.whl"))
+ if len(package_paths) != 1:
+ if package_paths:
+ for p in package_paths:
+ print_error(p, f"Found more than one wheel for package {package_name}.")
+ else:
+ print_error("", f"Could not find a {package_name} wheel on disk.")
return False
+ package_path = package_paths[0]
+
print(f"Verifying checksum for {package_path}.")
# Find the version of the package used by ensurepip