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

fix: always write slash paths to RECORD file #10164

Merged
merged 2 commits into from
Dec 26, 2024

Conversation

frostming
Copy link
Contributor

@frostming frostming commented Dec 26, 2024

Signed-off-by: Frost Ming [email protected]

Summary

This PR solves an issue on Windows that platform-specific paths are written to the RECORD file when installing, which is inconsistent with PEP 376, quoting:

Each record is composed of three elements:

the file’s path

  • a ‘/’-separated path, relative to the base location, if the file is under the base location.
  • a ‘/’-separated path, relative to the base location, if the file is under the installation prefix AND if the base location is a subpath of the installation prefix.
  • an absolute path, using the local platform separator

Test Plan

Test case included

@frostming frostming force-pushed the fix/RECORD-path branch 2 times, most recently from 9f293a3 to b9a71a4 Compare December 26, 2024 02:05
Copy link
Member

@charliermarsh charliermarsh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@charliermarsh
Copy link
Member

I can take a look at the test failures tomorrow.

@frostming
Copy link
Contributor Author

frostming commented Dec 26, 2024

I can take a look at the test failures tomorrow.

It is related to the change, which I have fixed.


I have a difficulty following the way through how install receipt is written, since I don't have a Windows machine to test.

@charliermarsh charliermarsh added bug Something isn't working compatibility Compatibility with a specification or another tool windows Specific to the Windows platform labels Dec 26, 2024
@charliermarsh charliermarsh merged commit e6126ce into astral-sh:main Dec 26, 2024
64 checks passed
@frostming frostming deleted the fix/RECORD-path branch December 26, 2024 16:08
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Dec 28, 2024
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [astral-sh/uv](https://github.com/astral-sh/uv) | patch | `0.5.11` -> `0.5.13` |

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.5.13`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0513)

[Compare Source](astral-sh/uv@0.5.12...0.5.13)

##### Bug fixes

-   Avoid enforcing URL check on initial publish ([#&#8203;10182](astral-sh/uv#10182))
-   Fix incorrect mismatched constraints reference ([#&#8203;10184](astral-sh/uv#10184))
-   Revert "Update `reqwest` ([#&#8203;10178](astral-sh/uv#10178))" ([#&#8203;10187](astral-sh/uv#10187))

### [`v0.5.12`](https://github.com/astral-sh/uv/blob/HEAD/CHANGELOG.md#0512)

[Compare Source](astral-sh/uv@0.5.11...0.5.12)

##### Enhancements

-   Support `uv export` for non-project workspaces ([#&#8203;10144](astral-sh/uv#10144))
-   Set glibc versions for standalone installers ([#&#8203;10142](astral-sh/uv#10142))
-   Allow environment variables to be included in cache keys ([#&#8203;10170](astral-sh/uv#10170))

##### Preview features

-   Include extras in `uv-build` `Requires-Dist` metadata ([#&#8203;10110](astral-sh/uv#10110))
-   Use `shutil.which` for the build backend ([#&#8203;10028](astral-sh/uv#10028))

##### Bug fixes

-   Always write slash paths to RECORD file ([#&#8203;10164](astral-sh/uv#10164))
-   Add support for subdirectories in direct URLs in `uv.lock` ([#&#8203;10068](astral-sh/uv#10068))
-   Avoid duplicating backslashes in sysconfig parser ([#&#8203;10063](astral-sh/uv#10063))
-   Avoid erroring when subdirectories are provided in `uv add` ([#&#8203;10095](astral-sh/uv#10095))
-   Backtrack to non-local versions when wheels are missing platform support ([#&#8203;10046](astral-sh/uv#10046))
-   Fix mirror script to handle newer metadata format ([#&#8203;10050](astral-sh/uv#10050))
-   Preserve sort when deciding on requirement placement ([#&#8203;10078](astral-sh/uv#10078))
-   Remove redundant alias in `uv init` CLI ([#&#8203;10124](astral-sh/uv#10124))
-   Respect sources credentials in non-project workspaces ([#&#8203;10125](astral-sh/uv#10125))
-   Show non-project dependencies in `uv tree` ([#&#8203;10149](astral-sh/uv#10149))
-   Strip fragment when storing direct URL ([#&#8203;10093](astral-sh/uv#10093))
-   Include hashes for local source archives ([#&#8203;10080](astral-sh/uv#10080))

##### Documentation

-   Fix invalid syntax in some sources examples ([#&#8203;10127](astral-sh/uv#10127))

</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:eyJjcmVhdGVkSW5WZXIiOiIzOS44Mi45IiwidXBkYXRlZEluVmVyIjoiMzkuODMuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compatibility Compatibility with a specification or another tool windows Specific to the Windows platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants