mirror of
https://github.com/openwrt/packages.git
synced 2026-10-12 23:16:56 +04:00
Refresh sha256 from the PyPI sdist and refresh 003 for the shifted line. Retarget 002-pip-runner-pyc-fix.patch instead of dropping it: in 26.2.1 get_runnable_pip() moved from build_env.py (now a package) to _internal/utils/misc.py. The function is otherwise unchanged and still returns __pip-runner__.py, so the .pyc fallback is still required. We ship pip byte-compiled only (the .py sources live in the -src package), so without it build isolation cannot locate the runner and every PEP 517 install fails on target. This is a packaging workaround, not an upstream bug, so upstream has no reason to carry it. Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
38 lines
1.6 KiB
Diff
38 lines
1.6 KiB
Diff
From 85f271cdf5fa0853d221c704dbb4e7490ab117ec Mon Sep 17 00:00:00 2001
|
|
From: Alexandru Ardelean <alex@shruggie.ro>
|
|
Date: Tue, 11 Aug 2026 11:00:00 +0300
|
|
Subject: [PATCH] build isolation: fall back to __pip-runner__.pyc
|
|
|
|
get_runnable_pip() returns the path of __pip-runner__.py so pip can run
|
|
itself in a subprocess to populate the PEP 517 build environment. We ship
|
|
the pip package byte-compiled only (the .py sources live in the separate
|
|
-src package), so the .py file is absent on target and build isolation
|
|
fails. Fall back to the .pyc when the source is not present.
|
|
|
|
Not an upstream bug: upstream always ships the .py, so it has no reason to
|
|
handle this. In pip 26.2.x get_runnable_pip() moved from build_env.py to
|
|
_internal/utils/misc.py (build_env.py became a package), which is why the
|
|
old patch stopped applying; the function itself is unchanged and still
|
|
hardcodes __pip-runner__.py, so this workaround is still required.
|
|
|
|
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
|
|
---
|
|
src/pip/_internal/utils/misc.py | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
--- a/src/pip/_internal/utils/misc.py
|
|
+++ b/src/pip/_internal/utils/misc.py
|
|
@@ -105,7 +105,11 @@ def get_runnable_pip() -> str:
|
|
# case, we can use that directly.
|
|
return str(source)
|
|
|
|
- return os.fsdecode(source / "__pip-runner__.py")
|
|
+ filename = "__pip-runner__.pyc"
|
|
+ py = source / "__pip-runner__.py"
|
|
+ if py.is_file():
|
|
+ filename = "__pip-runner__.py"
|
|
+ return os.fsdecode(source / filename)
|
|
|
|
|
|
def normalize_version_info(py_version_info: tuple[int, ...]) -> tuple[int, int, int]:
|