Fix non lowercase distinfo_name on Windows #12
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #11
setuptools.package_index.PackageIndex used by zc.buildout will have
called, pkg_resources.normalize_path on the location, which in turn
calls os.path.normcase on it, thus lowercasing it on Windows. This means
that when we try to create a wheel.install.WheelFile using the location,
the WheelFile.distinfo_name is calculated from this altered path, so the
WheelFile.record_name uses an incorrectly lowercased version of the
dist-info directory to look for RECORD and as zipfile uses
case-sensitive paths this will fail. Fix by using the exact same case we
have on the filesystem.
This works for me, sorry but I'm not very familiar with the internals of any of this. Hope it helps.