summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2018-01-19 17:13:54 +0100
committerDominik Holland <dominik.holland@pelagicore.com>2018-02-05 09:23:46 +0000
commit0c5437b2baf2a8241665a5bdfcb7dd0e88ad9f34 (patch)
tree70b0372e843521cd7cb7f98811960dcd0dbd1500
parent765598f189f50f905627a73cfabb29acae405a9a (diff)
downloadmeta-boot2qt-0c5437b2baf2a8241665a5bdfcb7dd0e88ad9f34.tar.gz
qtivi: Fix the broken python3 binary inside an yocto SDK
QtIvi creates a virtualenv using the python3 binary from the native sysroot. This virtualenv is also used for the SDK. As it is not intended for the SDK it is using the wrong interpreter location. This workaround installs the python3 binary into the nativesdk sysroot where the qtivi nativesdk recipe can pick it up and copy it into its virtualenv. This needs to be improved in future versions and is discussed here: AUTOSUITE-176 Task-number: AUTOSUITE-179 Change-Id: Ib134231204cc8c6a56f2a93bedb553ecbcbd9123 Reviewed-by: Samuli Piippo <samuli.piippo@qt.io> Reviewed-by: Tobias Olausson <tobias.olausson@pelagicore.com>
-rw-r--r--recipes-qt/automotive/qtivi_git.bb13
-rw-r--r--recipes/python/python3_%.bbappend10
2 files changed, 23 insertions, 0 deletions
diff --git a/recipes-qt/automotive/qtivi_git.bb b/recipes-qt/automotive/qtivi_git.bb
index 40cfbf1..b5536a4 100644
--- a/recipes-qt/automotive/qtivi_git.bb
+++ b/recipes-qt/automotive/qtivi_git.bb
@@ -89,6 +89,19 @@ do_install_prepend() {
89 set_python_paths 89 set_python_paths
90} 90}
91 91
92# This needs a modified python3 recipe which copies the binary into a path where this recipe can pick it up
93# This is needed to provide a proper executable using the correct interpreter in the SDK.
94# See https://bugreports.qt.io/browse/AUTOSUITE-176
95do_install_append_class-nativesdk() {
96 export IVIGENERATOR_ENABLED="${@bb.utils.contains("PACKAGECONFIG", "ivigenerator-native", "1", "0", d)}"
97
98 if [ "${IVIGENERATOR_ENABLED}" = "1" ]; then
99 cp ${STAGING_BINDIR}/qt5/python3* ${D}/${OE_QMAKE_PATH_BINS}/ivigenerator/qtivi_qface_virtualenv/bin/
100 rm -f ${D}/${OE_QMAKE_PATH_BINS}/ivigenerator/qtivi_qface_virtualenv/bin/python
101 ln -sf python3 ${D}/${OE_QMAKE_PATH_BINS}/ivigenerator/qtivi_qface_virtualenv/bin/python
102 fi
103}
104
92 105
93BBCLASSEXTEND += "native nativesdk" 106BBCLASSEXTEND += "native nativesdk"
94 107
diff --git a/recipes/python/python3_%.bbappend b/recipes/python/python3_%.bbappend
index 9015f3f..b3a5eb7 100644
--- a/recipes/python/python3_%.bbappend
+++ b/recipes/python/python3_%.bbappend
@@ -1 +1,11 @@
1SRC_URI_remove = "file://python-3.3-multilib.patch" 1SRC_URI_remove = "file://python-3.3-multilib.patch"
2
3# We need to install the python3 binary into the sysroot to let qtivi install that binary
4# into the correct location.
5# We can't install it directly into ${bindir} as this would be picked up by other recipes
6# and produce a lot of errors. Instead put it inside a qt5 folder where only qtivi picks it up
7# This is a workaround and needs to be replaced by a proper solution discussed here:
8# https://bugreports.qt.io/browse/AUTOSUITE-176
9sysroot_stage_all_append_class-nativesdk () {
10 sysroot_stage_dir ${D}${bindir} ${SYSROOT_DESTDIR}${bindir}/qt5
11}