mirror of https://github.com/astral-sh/uv
## Summary This PR explicitly sets the entry type for files in an sdist. This changes the entry type from `AREGTYPE` (the 'legacy' regular file type) to `REGTYPE` (the 'normal' regular file type) in the generated tar. This change works around a bug in the python `tarfile` module that causes all entries after a certain point in the tar to be silently ignored if any entry matches some very specific conditions. In `maturin` this was very visible since the `PKG-INFO` was written at the very end so `twine check` would loudly complain that the `PKG-INFO` was missing and that the sdist was invalid. In `uv` the `PKG-INFO` is written at the beginning so this issue is unlikely to be caught. Note that this change does mean that sdists created with newer versions of the uv build backend will not be byte-for-byte identical with sdists from an older version. See https://github.com/PyO3/maturin/issues/2855#issuecomment-3546501132 ## Test Plan This is the same as the change that was made in maturin to work around the same issue --------- Co-authored-by: konstin <konstin@mailbox.org> |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
README.md
uv-build-backend
This crate is an internal component of uv. The Rust API exposed here is unstable and will have frequent breaking changes.
This version (0.0.7) is a component of uv 0.9.17. The source can be found here.
See uv's crate versioning policy for details on versioning.