python, python3: add patch to prevent distutils from adjusting the shebang

The copy_scripts() method in distutils copies the scripts listed
in the setup file and adjusts the first line to refer to the
current Python interpreter. When cross-compiling, this means that
the adjusted shebang refers to the host Python interpreter.

As a consequence, we add a patch for python and python3 that
force copy_scripts() to preserve the shebang when
cross-compilation is detected.

Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Christophe Vu-Brugier 2014-09-18 12:00:51 +02:00 committed by Thomas Petazzoni
parent 3867623c23
commit edab68c1f1
2 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,25 @@
Do not adjust the shebang of Python scripts for cross-compilation
The copy_scripts() method in distutils copies the scripts listed in
the setup file and adjusts the first line to refer to the current
Python interpreter. When cross-compiling, this means that the adjusted
shebang refers to the host Python interpreter.
This patch modifies copy_scripts() to preserve the shebang when
cross-compilation is detected.
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Index: b/Lib/distutils/command/build_scripts.py
===================================================================
--- a/Lib/distutils/command/build_scripts.py
+++ b/Lib/distutils/command/build_scripts.py
@@ -89,7 +89,7 @@
adjust = 1
post_interp = match.group(1) or ''
- if adjust:
+ if adjust and not '_python_sysroot' in os.environ:
log.info("copying and adjusting %s -> %s", script,
self.build_dir)
if not self.dry_run:

View File

@ -0,0 +1,25 @@
Do not adjust the shebang of Python scripts for cross-compilation
The copy_scripts() method in distutils copies the scripts listed in
the setup file and adjusts the first line to refer to the current
Python interpreter. When cross-compiling, this means that the adjusted
shebang refers to the host Python interpreter.
This patch modifies copy_scripts() to preserve the shebang when
cross-compilation is detected.
Signed-off-by: Christophe Vu-Brugier <cvubrugier@fastmail.fm>
Index: b/Lib/distutils/command/build_scripts.py
===================================================================
--- a/Lib/distutils/command/build_scripts.py
+++ b/Lib/distutils/command/build_scripts.py
@@ -91,7 +91,7 @@
adjust = True
post_interp = match.group(1) or b''
- if adjust:
+ if adjust and not '_python_sysroot' in os.environ:
log.info("copying and adjusting %s -> %s", script,
self.build_dir)
updated_files.append(outfile)