summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2022-11-09 21:21:09 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-12-07 14:56:54 +0000
commit990af746c250dcb1b7b46e0c887e2ccf67f67d26 (patch)
treebe448e2636be5044048d0c6f6f566a12e357a4ff /meta/recipes-devtools/python/python3
parent3c499e21f4225fdaebbb22582753f736ce7e4a73 (diff)
downloadpoky-990af746c250dcb1b7b46e0c887e2ccf67f67d26.tar.gz
python3: use the standard shell version of python3-config
There is really no reason why we can't: it only needs to be available in two versions (native/target), and the correct one can be picked via PATH priority order. This eliminates two un-upstreamable patches, one of which relies on soon to be removed distutils. (From OE-Core rev: d0145ead0f80ba4bde8e24617a8725f38eda8339) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/python/python3')
-rw-r--r--meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch14
-rw-r--r--meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch36
-rw-r--r--meta/recipes-devtools/python/python3/python-config.patch55
3 files changed, 6 insertions, 99 deletions
diff --git a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
index 921da8de7c..db08435004 100644
--- a/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
+++ b/meta/recipes-devtools/python/python3/0001-Avoid-shebang-overflow-on-python-config.py.patch
@@ -1,7 +1,7 @@
1From f0c9dec63d452a7cd1e15ea653f4aced281f021c Mon Sep 17 00:00:00 2001 1From 78f482b91d94b44a02e02c4580166757119061ea Mon Sep 17 00:00:00 2001
2From: Paulo Neves <ptsneves@gmail.com> 2From: Paulo Neves <ptsneves@gmail.com>
3Date: Tue, 7 Jun 2022 16:16:41 +0200 3Date: Tue, 7 Jun 2022 16:16:41 +0200
4Subject: [PATCH 1/1] Avoid shebang overflow on python-config.py 4Subject: [PATCH] Avoid shebang overflow on python-config.py
5 5
6The whole native path may be too big, leading to shebang 6The whole native path may be too big, leading to shebang
7overflow. Let's just use the env shebang. 7overflow. Let's just use the env shebang.
@@ -11,15 +11,16 @@ Denial reason: [1]
11Upstream-Status: Denied [distribution] 11Upstream-Status: Denied [distribution]
12 12
13[1] https://github.com/python/cpython/pull/93760#pullrequestreview-1005365737 13[1] https://github.com/python/cpython/pull/93760#pullrequestreview-1005365737
14
14--- 15---
15 Makefile.pre.in | 2 ++ 16 Makefile.pre.in | 2 ++
16 1 file changed, 2 insertions(+) 17 1 file changed, 2 insertions(+)
17 18
18diff --git a/Makefile.pre.in b/Makefile.pre.in 19diff --git a/Makefile.pre.in b/Makefile.pre.in
19index f0aedb76cb58999427804255da56fa53284d7032..dd88e43114730f7681715777cc76dabb31113176 100644 20index 55c7c46..1f6500a 100644
20--- a/Makefile.pre.in 21--- a/Makefile.pre.in
21+++ b/Makefile.pre.in 22+++ b/Makefile.pre.in
22@@ -1638,6 +1638,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh 23@@ -2115,6 +2115,8 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
23 @ # Substitution happens here, as the completely-expanded BINDIR 24 @ # Substitution happens here, as the completely-expanded BINDIR
24 @ # is not available in configure 25 @ # is not available in configure
25 sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py 26 sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
@@ -27,7 +28,4 @@ index f0aedb76cb58999427804255da56fa53284d7032..dd88e43114730f7681715777cc76dabb
27+ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py 28+ sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' python-config.py
28 @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} 29 @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
29 LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config 30 LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config
30 @ # In OpenEmbedded, always use the python version of the script, the shell 31 @ # On Darwin, always use the python version of the script, the shell
31--
322.25.1
33
diff --git a/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch b/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch
deleted file mode 100644
index d98f243cb1..0000000000
--- a/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From 2406432449784243b7590009d42bd0e871253b2e Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex.kanavin@gmail.com>
3Date: Tue, 29 Jan 2019 15:03:01 +0100
4Subject: [PATCH] Do not use the shell version of python-config that was
5 introduced in 3.4
6
7Revert instead to the original python version: it has our tweaks and
8outputs directories correctly.
9
10Upstream-Status: Inappropriate [oe-specific]
11Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
12
13---
14 Makefile.pre.in | 9 +++------
15 1 file changed, 3 insertions(+), 6 deletions(-)
16
17diff --git a/Makefile.pre.in b/Makefile.pre.in
18index ee85f35..f0aedb7 100644
19--- a/Makefile.pre.in
20+++ b/Makefile.pre.in
21@@ -1640,12 +1640,9 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh
22 sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py
23 @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR}
24 LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config
25- @ # On Darwin, always use the python version of the script, the shell
26- @ # version doesn't use the compiler customizations that are provided
27- @ # in python (_osx_support.py).
28- @if test `uname -s` = Darwin; then \
29- cp python-config.py python-config; \
30- fi
31+ @ # In OpenEmbedded, always use the python version of the script, the shell
32+ @ # version is broken in multiple ways, and doesn't return correct directories
33+ cp python-config.py python-config
34
35
36 # Install the include files
diff --git a/meta/recipes-devtools/python/python3/python-config.patch b/meta/recipes-devtools/python/python3/python-config.patch
deleted file mode 100644
index 4da399e46e..0000000000
--- a/meta/recipes-devtools/python/python3/python-config.patch
+++ /dev/null
@@ -1,55 +0,0 @@
1From 8632f25ac4e2c53a3c2c8a1b4fc97fc86e8aad5a Mon Sep 17 00:00:00 2001
2From: Tyler Hall <tylerwhall@gmail.com>
3Date: Sun, 4 May 2014 20:06:43 -0400
4Subject: [PATCH] python-config: Revert to using distutils.sysconfig
5
6The newer sysconfig module shares some code with distutils.sysconfig, but the same modifications as in
7
812-distutils-prefix-is-inside-staging-area.patch makes distutils.sysconfig
9
10affect the native runtime as well as cross building. Use the old, patched
11implementation which returns paths in the staging directory and for the target,
12as appropriate.
13
14Upstream-Status: Inappropriate [Embedded Specific]
15
16Signed-off-by: Tyler Hall <tylerwhall@gmail.com>
17
18---
19 Misc/python-config.in | 12 +++++++-----
20 1 file changed, 7 insertions(+), 5 deletions(-)
21
22diff --git a/Misc/python-config.in b/Misc/python-config.in
23index ebd99da..0492e08 100644
24--- a/Misc/python-config.in
25+++ b/Misc/python-config.in
26@@ -6,7 +6,9 @@
27 import getopt
28 import os
29 import sys
30-import sysconfig
31+import warnings
32+warnings.filterwarnings("ignore", category=DeprecationWarning)
33+from distutils import sysconfig
34
35 valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags',
36 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir',
37@@ -35,14 +37,14 @@ if '--help' in opt_flags:
38
39 for opt in opt_flags:
40 if opt == '--prefix':
41- print(getvar('prefix'))
42+ print(sysconfig.PREFIX)
43
44 elif opt == '--exec-prefix':
45- print(getvar('exec_prefix'))
46+ print(sysconfig.EXEC_PREFIX)
47
48 elif opt in ('--includes', '--cflags'):
49- flags = ['-I' + sysconfig.get_path('include'),
50- '-I' + sysconfig.get_path('platinclude')]
51+ flags = ['-I' + sysconfig.get_python_inc(),
52+ '-I' + sysconfig.get_python_inc(plat_specific=True)]
53 if opt == '--cflags':
54 flags.extend(getvar('CFLAGS').split())
55 print(' '.join(flags))