summaryrefslogtreecommitdiff
path: root/lang/python/python-package.mk
diff options
context:
space:
mode:
authorAlexandru Ardelean <ardeleanalex@gmail.com>2019-09-12 15:03:50 +0300
committerAlexandru Ardelean <ardeleanalex@gmail.com>2019-09-20 14:10:00 +0300
commit721642908c2bc2f16ff371bdd33e4df02813318c (patch)
treef877972c2810fc5cdf374234be0e152944144279 /lang/python/python-package.mk
parented0e77f3c385770065bf6ec6ed7c3bbbb6deb395 (diff)
python,python3: add Py[3]Shebang functions & move outside of script
Some packages just install some Python binaries, that may need their shebang fixed. This change adds some utilities to help with that and try to centralize the sed rules a bit. It also removes the logic from the `python-package-install.sh` into the `python-package[3].mk` files. This does 2 things: 1. It minimizes the need for the shell script to know the Python version 2/3 2. Makes the logic re-usable in packages; especially if the install rules differ a bit Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Diffstat (limited to 'lang/python/python-package.mk')
-rw-r--r--lang/python/python-package.mk10
1 files changed, 8 insertions, 2 deletions
diff --git a/lang/python/python-package.mk b/lang/python/python-package.mk
index 9bd0b9aa4..019f4f028 100644
--- a/lang/python/python-package.mk
+++ b/lang/python/python-package.mk
@@ -35,6 +35,10 @@ ifdef CONFIG_USE_MIPS16
TARGET_CFLAGS += -mno-mips16 -mno-interlink-mips16
endif
+define PyShebang
+$(SED) "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python2," -i --follow-symlinks $(1)
+endef
+
define PyPackage
define Package/$(1)-src
@@ -74,11 +78,13 @@ define PyPackage
define Package/$(1)/install
$$(call PyPackage/$(1)/install,$$(1))
- SED="$(SED)" \
$(SHELL) $(python_mk_path)python-package-install.sh "2" \
"$(PKG_INSTALL_DIR)" "$$(1)" \
"$(HOST_PYTHON_BIN)" "$$(2)" \
- "$$$$$$$$$$(call shvar,PyPackage/$(1)/filespec)"
+ "$$$$$$$$$$(call shvar,PyPackage/$(1)/filespec)" && \
+ if [ -d "$$(1)/usr/bin" ]; then \
+ $(call PyShebang,$$(1)/usr/bin/*) ; \
+ fi
endef
define Package/$(1)-src/install