Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make order of files in repaired wheel deterministic #507

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Commits on Aug 6, 2024

  1. Store entries in zip file in a deterministic order.

    In order to make the output zip file reproducible (independent of the
    underlying filesystem's directory traversal order), sort each list of
    subdirectories and each list of files before adding them to the zip
    file.
    
    (Note that we want to sort the dirs list in place, causing os.walk to
    traverse the subdirectories in order.)
    Benjamin Moody committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    0d01cba View commit details
    Browse the repository at this point in the history
  2. Store entries in RECORD in a deterministic order.

    In order to make the output zip file reproducible (independent of the
    underlying filesystem's directory traversal order), sort each list of
    subdirectories and each list of files while we are generating the
    RECORD file.
    
    (Note that we want to sort the dirs list in place, causing os.walk to
    traverse the subdirectories in order.)
    Benjamin Moody committed Aug 6, 2024
    Configuration menu
    Copy the full SHA
    a393a17 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Store .dist-info entries at the end of the zip file.

    If the wheel metadata files are physically located at the end of the
    zip file, this allows other tools to modify the metadata without
    rewriting the entire archive.
    Benjamin Moody committed Sep 16, 2024
    Configuration menu
    Copy the full SHA
    1600fdf View commit details
    Browse the repository at this point in the history