pypa / auditwheel

Auditing and relabeling cross-distribution Linux wheels.
Other
432 stars 142 forks source link

Make order of files in repaired wheel deterministic #507

Open bemoody opened 1 month ago

bemoody commented 1 month ago

Currently, when running auditwheel repair, the contents of the output whl file are unpredictable:

This is a problem for build reproducibility - provided that the build process is sufficiently well defined, different people should be able to run the same process on different machines and get identical outputs.

Note that when setuptools or wheel generates a whl file, it does something similar (see WheelFile.write_files in wheel.wheelfile.) The code here won't do quite the same as what setuptools does, but that shouldn't be a problem.

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 92.28%. Comparing base (14c4282) to head (a393a17). Report is 2 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #507 +/- ## ========================================== + Coverage 92.25% 92.28% +0.02% ========================================== Files 20 20 Lines 1266 1270 +4 Branches 305 305 ========================================== + Hits 1168 1172 +4 Misses 56 56 Partials 42 42 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.