diff options
Diffstat (limited to 'meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch')
-rw-r--r-- | meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch b/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch new file mode 100644 index 0000000000..99fa14ee03 --- /dev/null +++ b/meta/recipes-devtools/python/python3-pip/no_shebang_mangling.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 2aa82aeb0783c5fa7777b32bfe1dd3da9ae8fc6e Mon Sep 17 00:00:00 2001 | ||
2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
3 | Date: Wed, 23 Feb 2022 12:27:06 +0000 | ||
4 | Subject: [PATCH] python3-pip: Don't change shebang | ||
5 | |||
6 | Patch pip to disable shebang mangling and also force the python executable | ||
7 | to be python3 from the environment when building anything for the target | ||
8 | (or nativesdk). This avoids incorrect interpreter paths in the target scripts. | ||
9 | |||
10 | Upstream-Status: Inappropriate [OE specific config] | ||
11 | --- | ||
12 | src/pip/_vendor/distlib/scripts.py | 4 +++- | ||
13 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
14 | |||
15 | diff --git a/src/pip/_vendor/distlib/scripts.py b/src/pip/_vendor/distlib/scripts.py | ||
16 | index cfa45d2..313f499 100644 | ||
17 | --- a/src/pip/_vendor/distlib/scripts.py | ||
18 | +++ b/src/pip/_vendor/distlib/scripts.py | ||
19 | @@ -144,6 +144,8 @@ class ScriptMaker(object): | ||
20 | See also: http://www.in-ulm.de/~mascheck/various/shebang/#length | ||
21 | https://hg.mozilla.org/mozilla-central/file/tip/mach | ||
22 | """ | ||
23 | + if '_PYTHON_SYSCONFIGDATA_NAME' in os.environ: | ||
24 | + return b'#!/usr/bin/env python3' | ||
25 | if os.name != 'posix': | ||
26 | simple_shebang = True | ||
27 | else: | ||
28 | @@ -362,7 +364,7 @@ class ScriptMaker(object): | ||
29 | return | ||
30 | |||
31 | match = FIRST_LINE_RE.match(first_line.replace(b'\r\n', b'\n')) | ||
32 | - if match: | ||
33 | + if False: | ||
34 | adjust = True | ||
35 | post_interp = match.group(1) or b'' | ||
36 | |||