-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Add hint for venv in source distribution error #15202
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
Conversation
12b4345
to
b6931b0
Compare
crates/uv-extract/src/error.rs
Outdated
#[error("Invalid zip file")] | ||
Zip(#[from] zip::result::ZipError), | ||
#[error("Failed to read from zip file")] | ||
#[error("Invalid zip file during async read")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The during async read
allows us to tell apart the code path.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To tell it apart from which case? I would rather not leak that it's async to a user.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Telling apart zip
errors vs. async-zip
errors from user reports. I've made it more sneaky now by using two slightly different strings that effectively say the same but lead us to the correct location when grepping through the code.
} | ||
Err(err) => { | ||
let help = if let Error::Extract(uv_extract::Error::Tar(err)) = &err { | ||
// TODO(konsti): astral-tokio-tar should use a proper error instead of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tokio-tar crate has an effectively stringly-types, very nested, everything-is-an-io::Error interface.
Venvs should not be in source distributions, and on Unix, we now reject them for having a link outside the source directory. In the process, we're differentiating IO errors for format error for uncompression generally. Fixes #15096
b6931b0
to
3531077
Compare
Looking at astral-sh/tokio-tar@f148818, are you planning to release |
Yes, we plan doing a new release in https://github.com/astral-sh/tokio-tar soon. |
Release v0.5.3 for astral-sh/uv#15202 (comment)
Release v0.5.3 for astral-sh/uv#15202 (comment). The `Cargo.toml` is already bumped, so we only need update the Changelog.
This is not actually an update, we're just updating the commit tag for #15202 (comment)
This is not actually an update, we're just updating the commit tag to a crates.io release for #15202 (comment)
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.8.11` -> `0.8.12` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>astral-sh/uv (astral-sh/uv)</summary> ### [`v0.8.12`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0812) [Compare Source](astral-sh/uv@0.8.11...0.8.12) ##### Python - Add 3.13.7 - Improve performance of zstd in Python 3.14 See the [python-build-standalone release notes](https://github.com/astral-sh/python-build-standalone/releases/tag/20250818) for details. ##### Enhancements - Add an `aarch64-pc-windows-msvc` target for `python-platform` ([#​15347](astral-sh/uv#15347)) - Add fallback parent process detection to `uv tool update-shell` ([#​15356](astral-sh/uv#15356)) - Install non-build-isolation packages in a second phase ([#​15306](astral-sh/uv#15306)) - Add hint when virtual environments are included in source distributions ([#​15202](astral-sh/uv#15202)) - Add Docker images derived from `buildpack-deps:trixie`, `debian:trixie-slim`, `alpine:3.22` ([#​15351](astral-sh/uv#15351)) ##### Bug fixes - Reject already-installed wheels built with outdated settings ([#​15289](astral-sh/uv#15289)) - Skip interpreters that are not found on query ([#​15315](astral-sh/uv#15315)) - Handle dotted package names in script path resolution ([#​15300](astral-sh/uv#15300)) - Reject `match-runtime = true` for dynamic packages ([#​15292](astral-sh/uv#15292)) ##### Documentation - Document improvements to build-isolation setups ([#​15326](astral-sh/uv#15326)) - Fix reference documentation recommendation to use `uv cache clean` instead of `clear` ([#​15313](astral-sh/uv#15313)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS43Ni4wIiwidXBkYXRlZEluVmVyIjoiNDEuNzYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Venvs should not be in source distributions, and on Unix, we now reject them for having a link outside the source directory. This PR adds a hint for that since users were confused (#15096).
In the process, we're differentiating IO errors for format error for uncompression generally.
Fixes #15096