diff options
author | Christophe Vu-Brugier <cvubrugier@fastmail.fm> | 2014-09-18 12:00:51 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-09-21 19:46:13 +0200 |
commit | edab68c1f1eb285c08ac6f82031622001ad40896 (patch) | |
tree | 4b84e08811228301d47660a1a7c34918e6dbfcdc | |
parent | 3867623c23ec0b1638d55dcb42e58f800de38785 (diff) | |
download | buildroot-edab68c1f1eb285c08ac6f82031622001ad40896.tar.gz buildroot-edab68c1f1eb285c08ac6f82031622001ad40896.zip |
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>
-rw-r--r-- | package/python/python-017-distutils-scripts-dont-adjust-shebang.patch | 25 | ||||
-rw-r--r-- | package/python3/python3-015-distutils-scripts-dont-adjust-shebang.patch | 25 |
2 files changed, 50 insertions, 0 deletions
diff --git a/package/python/python-017-distutils-scripts-dont-adjust-shebang.patch b/package/python/python-017-distutils-scripts-dont-adjust-shebang.patch new file mode 100644 index 0000000000..da4dc36df5 --- /dev/null +++ b/package/python/python-017-distutils-scripts-dont-adjust-shebang.patch @@ -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: diff --git a/package/python3/python3-015-distutils-scripts-dont-adjust-shebang.patch b/package/python3/python3-015-distutils-scripts-dont-adjust-shebang.patch new file mode 100644 index 0000000000..ed2f193f9e --- /dev/null +++ b/package/python3/python3-015-distutils-scripts-dont-adjust-shebang.patch @@ -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) |