Commit edab68c1 authored by Christophe Vu-Brugier's avatar Christophe Vu-Brugier Committed by Thomas Petazzoni
Browse files

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: default avatarChristophe Vu-Brugier <cvubrugier@fastmail.fm>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 3867623c
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
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:
+25 −0
Original line number Diff line number Diff line
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)