summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support
diff options
context:
space:
mode:
authorPiotr Tworek <tworaz@tworaz.net>2019-07-27 10:56:16 +0200
committerKhem Raj <raj.khem@gmail.com>2019-07-28 17:11:17 -0700
commite5ac325b7974a346b218d1f43b92d06f5b0dd078 (patch)
treeebb2cad8f429a9d0d652c1069375e2fc7221b2c4 /meta-oe/recipes-support
parent2bdd4a599558c93385642b17b27d5cce31911dd6 (diff)
downloadmeta-openembedded-e5ac325b7974a346b218d1f43b92d06f5b0dd078.tar.gz
itstool: Don't use hardcoded, absolute path to python3 binary.
Unfortunately itstoll build system produces script file which contains absolute path to python3 binary used during packaging. In case of OE this refers to recipe-sysroot-native directory. This obviously make the resulting script unusable for both target and native builds. This problem was patched in OE using sed after the script file was installed. The sed line replaced one absolute path with /usr/bin/python3. This seems to work fine for target builds but is still not good enough for native targets.s The main problem with native builds is we can't mix host and OE provided python3 when recipe using the tool inherits python3native bbclass. This bbclass exports _PYTHON_SYSCONFIGDATA_NAME="_sysconfigdata" which is likely to break host python3. To make sure itstool is usable on both build host and target replace /usr/bin/python3 absolute path with /usr/bin/env python3. Signed-off-by: Piotr Tworek <tworaz@tworaz.net> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-support')
-rw-r--r--meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch29
-rw-r--r--meta-oe/recipes-support/itstool/itstool_2.0.5.bb8
2 files changed, 31 insertions, 6 deletions
diff --git a/meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch b/meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch
new file mode 100644
index 000000000..b91105330
--- /dev/null
+++ b/meta-oe/recipes-support/itstool/itstool/0001-Don-t-use-build-time-hardcoded-python-binary-path.patch
@@ -0,0 +1,29 @@
1From cd9b56224895576125e91cca317ace8a80f3eb77 Mon Sep 17 00:00:00 2001
2From: Piotr Tworek <tworaz@tworaz.net>
3Date: Sat, 27 Jul 2019 10:19:11 +0200
4Subject: [PATCH] Don't use build time hardcoded python binary path.
5
6This path obviously won't work on target since they refer to build
7machine directory structure. Native builds will also fail if local.conf
8has INHERIT+=rm_work. Instread of hardcoding path to python binary use
9whatever is found in PATH first. This should also allow the tool to use
10python3 binary provided in recipe-sysroot-native.
11
12Upstream-Status: Inappropriate [OE specific]
13---
14 itstool.in | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/itstool.in b/itstool.in
18index b3c0033..7df2476 100755
19--- a/itstool.in
20+++ b/itstool.in
21@@ -1,4 +1,4 @@
22-#!@PYTHON@ -s
23+#!/usr/bin/env -S python3 -s
24 #
25 # Copyright (c) 2010-2018 Shaun McCance <shaunm@gnome.org>
26 #
27--
282.21.0
29
diff --git a/meta-oe/recipes-support/itstool/itstool_2.0.5.bb b/meta-oe/recipes-support/itstool/itstool_2.0.5.bb
index a0af44a71..2e7e8f194 100644
--- a/meta-oe/recipes-support/itstool/itstool_2.0.5.bb
+++ b/meta-oe/recipes-support/itstool/itstool_2.0.5.bb
@@ -7,15 +7,11 @@ inherit autotools python3native
7 7
8DEPENDS = "libxml2-native" 8DEPENDS = "libxml2-native"
9 9
10SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2" 10SRC_URI = "http://files.itstool.org/${BPN}/${BPN}-${PV}.tar.bz2 \
11 file://0001-Don-t-use-build-time-hardcoded-python-binary-path.patch"
11SRC_URI[md5sum] = "655c6f78fc64faee45adcc45ccc5a57e" 12SRC_URI[md5sum] = "655c6f78fc64faee45adcc45ccc5a57e"
12SRC_URI[sha256sum] = "100506f8df62cca6225ec3e631a8237e9c04650c77495af4919ac6a100d4b308" 13SRC_URI[sha256sum] = "100506f8df62cca6225ec3e631a8237e9c04650c77495af4919ac6a100d4b308"
13 14
14do_install_append() {
15 # fix shebang of main script
16 sed -i 's:^#!${WORKDIR}.*${PYTHON_PN} -s:#!${bindir_native}/${PYTHON_PN} -s:' ${D}${bindir}/itstool
17}
18
19BBCLASSEXTEND = "native" 15BBCLASSEXTEND = "native"
20 16
21RDEPENDS_${PN} += "libxml2-python" 17RDEPENDS_${PN} += "libxml2-python"