Skip to content

Gracefully handle entrypoint permission errors#15026

Merged
zanieb merged 1 commit intoastral-sh:mainfrom
louiswpf:fix-run-permission-error
Aug 2, 2025
Merged

Gracefully handle entrypoint permission errors#15026
zanieb merged 1 commit intoastral-sh:mainfrom
louiswpf:fix-run-permission-error

Conversation

@louiswpf
Copy link
Contributor

@louiswpf louiswpf commented Aug 2, 2025

Gracefully handle entrypoint permission errors

uv run --with could fail with a "permission denied" error when it
tried to copy an entrypoint with restrictive permissions.

For instance:

$ stat -c '%A' /usr/bin/groupmems
-rwxr-s---

$ uv python find
/usr/bin/python

$ uv run --with dummy_test
error: failed to open file `/usr/bin/groupmems`: Permission denied (os error 13)

The entrypoint copying logic now catches these permission errors and
skips the file, making uv more resilient on systems with binaries that
have restrictive permissions.

`uv run --with` could fail with a "permission denied" error when it
tried to copy an entrypoint with restrictive permissions.

For instance:

```sh
$ stat -c '%A' /usr/bin/groupmems
-rwxr-s---

$ uv python find
/usr/bin/python

$ uv run --with dummy_test
error: failed to open file `/usr/bin/groupmems`: Permission denied (os error 13)
```

The entrypoint copying logic now catches these permission errors and
skips the file, making `uv` more resilient on systems with binaries that
have restrictive permissions.
Copy link
Member

@zanieb zanieb left a comment

Choose a reason for hiding this comment

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

Thanks!

@zanieb zanieb added the bug Something isn't working label Aug 2, 2025
@zanieb zanieb merged commit 3dc921d into astral-sh:main Aug 2, 2025
92 checks passed
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 6, 2025
This MR contains the following updates:

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

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

[Compare Source](astral-sh/uv@0.8.4...0.8.5)

##### Enhancements

- Enable `uv run` with a GitHub Gist ([#&#8203;15058](astral-sh/uv#15058))
- Improve HTTP response caching log messages ([#&#8203;15067](astral-sh/uv#15067))
- Show wheel tag hints in install plan ([#&#8203;15066](astral-sh/uv#15066))
- Support installing additional executables in `uv tool install` ([#&#8203;14014](astral-sh/uv#14014))

##### Preview features

- Enable extra build dependencies to 'match runtime' versions ([#&#8203;15036](astral-sh/uv#15036))
- Remove duplicate `extra-build-dependencies` warnings for `uv pip` ([#&#8203;15088](astral-sh/uv#15088))
- Use "option" instead of "setting" in `pylock` warning ([#&#8203;15089](astral-sh/uv#15089))
- Respect extra build requires when reading from wheel cache ([#&#8203;15030](astral-sh/uv#15030))
- Preserve lowered extra build dependencies ([#&#8203;15038](astral-sh/uv#15038))

##### Bug fixes

- Add Python versions to markers implied from wheels ([#&#8203;14913](astral-sh/uv#14913))
- Ensure consistent indentation when adding dependencies ([#&#8203;14991](astral-sh/uv#14991))
- Fix handling of `python-preference = system` when managed interpreters are on the PATH ([#&#8203;15059](astral-sh/uv#15059))
- Fix symlink preservation in virtual environment creation ([#&#8203;14933](astral-sh/uv#14933))
- Gracefully handle entrypoint permission errors ([#&#8203;15026](astral-sh/uv#15026))
- Include wheel hashes from local Simple indexes ([#&#8203;14993](astral-sh/uv#14993))
- Prefer system Python installations over managed ones when `--system` is used ([#&#8203;15061](astral-sh/uv#15061))
- Remove retry wrapper when matching on error kind ([#&#8203;14996](astral-sh/uv#14996))
- Revert `h2` upgrade ([#&#8203;15079](astral-sh/uv#15079))

##### Documentation

- Improve visibility of copy and line separator in dark mode ([#&#8203;14987](astral-sh/uv#14987))

</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:eyJjcmVhdGVkSW5WZXIiOiI0MS41Mi4yIiwidXBkYXRlZEluVmVyIjoiNDEuNTIuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments