summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2023-04-26 10:53:44 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2023-04-26 18:00:34 +0200
commita8b2266af42491edca3931c5c41385d641c8196b (patch)
tree8c9b0514721c6c4df0c12b9789c3b27c6b572af3
parentd8b706032a5338ad088fd78701ca6d2a6a141ea0 (diff)
downloadptxdist-a8b2266af42491edca3931c5c41385d641c8196b.tar.gz
ptxdist-a8b2266af42491edca3931c5c41385d641c8196b.tar.xz
python3: allow reusing local system python modules
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--rules/python3.make25
1 files changed, 15 insertions, 10 deletions
diff --git a/rules/python3.make b/rules/python3.make
index 59089ff99..822a40e51 100644
--- a/rules/python3.make
+++ b/rules/python3.make
@@ -113,24 +113,29 @@ ifdef PTXCONF_ARCH_ARM64
PYTHON3_PLATFORM := arm
endif
+define PYTHON3_CROSS_PYTHON_DATA
+#!/bin/sh
+PYTHONEXECUTABLE=$(PTXDIST_SYSROOT_TARGET)/usr/bin/python$(PYTHON3_MAJORMINOR)
+_PYTHON_HOST_PLATFORM=linux-$(PYTHON3_PLATFORM)
+_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__linux_@arch@
+PYTHONPATH="$(PTXDIST_SYSROOT_HOST)/usr/lib/python$(PYTHON3_MAJORMINOR)/site-packages:$(PTXDIST_SYSROOT_HOST)/usr/lib/python3/site-packages"
+PYTHONHASHSEED=0
+export PYTHONEXECUTABLE _PYTHON_HOST_PLATFORM
+export _PYTHON_SYSCONFIGDATA_NAME PYTHONPATH
+export PYTHONHASHSEED
+exec $(HOSTPYTHON3) "$${@}"
+endef
+
$(STATEDIR)/python3.install.post:
@$(call targetinfo)
@$(call world/install.post, PYTHON3)
+ @$(file > $(PTXDIST_TEMPDIR)/cross-python,$(PYTHON3_CROSS_PYTHON_DATA))
@rm -f "$(CROSS_PYTHON3)"
- @echo '#!/bin/sh' >> "$(CROSS_PYTHON3)"
- @echo 'PYTHONEXECUTABLE=$(PTXDIST_SYSROOT_TARGET)/usr/bin/python$(PYTHON3_MAJORMINOR)' >> "$(CROSS_PYTHON3)"
- @echo '_PYTHON_HOST_PLATFORM=linux-$(PYTHON3_PLATFORM)' >> "$(CROSS_PYTHON3)"
@m=`sed -n 's/^MULTIARCH=[\t ]*\(.*\)/\1/p' $(PYTHON3_DIR)/Makefile` && \
sed -i "s;'\(/usr/include\);'$(PTXDIST_SYSROOT_TARGET)\1;g" \
$(PTXDIST_SYSROOT_TARGET)/usr/lib/python$(PYTHON3_MAJORMINOR)/_sysconfigdata__linux_$$m.py && \
- echo "_PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata__linux_$$m" >> "$(CROSS_PYTHON3)"
- echo "PYTHONPATH=$(PTXDIST_SYSROOT_HOST)/usr/lib/python$(PYTHON3_MAJORMINOR)/site-packages" >> "$(CROSS_PYTHON3)"
- @echo 'PYTHONHASHSEED=0' >> "$(CROSS_PYTHON3)"
- @echo 'export PYTHONEXECUTABLE _PYTHON_HOST_PLATFORM' >> "$(CROSS_PYTHON3)"
- @echo 'export _PYTHON_SYSCONFIGDATA_NAME PYTHONPATH' >> "$(CROSS_PYTHON3)"
- @echo 'export PYTHONHASHSEED' >> "$(CROSS_PYTHON3)"
- @echo 'exec $(HOSTPYTHON3) "$${@}"' >> "$(CROSS_PYTHON3)"
+ sed "s;@arch@;$$m;" $(PTXDIST_TEMPDIR)/cross-python > "$(CROSS_PYTHON3)"
@chmod a+x "$(CROSS_PYTHON3)"
@sed -e 's;prefix_real=.*;prefix_real=$(SYSROOT)/usr;' \
"$(PTXDIST_SYSROOT_TARGET)/usr/bin/python$(PYTHON3_MAJORMINOR)-config" \