Skip to content

Commit

Permalink
[3.8] gh-109002: Ensure only one wheel for each vendored package (GH-…
Browse files Browse the repository at this point in the history
…109003) (#109009)

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 f8a0479)

Co-authored-by: Łukasz Langa <[email protected]>
  • Loading branch information
miss-islington and ambv authored Sep 6, 2023
1 parent 97e87f7 commit fa2d13e
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions Tools/scripts/verify_ensurepip_wheels.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! /usr/bin/env python3
#!/usr/bin/env python3

"""
Compare checksums for wheels in :mod:`ensurepip` against the Cheeseshop.
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit fa2d13e

Please sign in to comment.