[oe] [meta-qt5][PATCH] qtbase: fix Krogoth build regression from efa8aaf

Matt Hoosier matt.hoosier at gmail.com
Thu Aug 17 12:27:33 UTC 2017


From: Matt Hoosier <matt.hoosier at garmin.com>

With

    commit efa8aaf82e580a7d32eaaab48eb92d436f2e222a
    Author: Andreas Müller <schnitzeltony at googlemail.com>
    Date:   Thu Feb  9 00:26:09 2017

    qmake5_base.bbclass: set qt.conf by environment variable again

we stopped pointing ${OE_QMAKE_QTCONF_PATH} at a valid file and
instead directed it to a path which was intended not to exist.

The motivation was to permit qtbase/qtbase-native/nativesdk-qtbase
to build again after Qt 5.8 started paying attention to the
contents of this file.

The change as done in efa8aaf works well enough for Morty and
subsequent releases' copies of Bitbake, but fails on earlier
releases because they lack the following change:

    commit 2afcbfef2cd1ca568e5225884a8021df38ee3db0
    Author: Ross Burton <ross.burton at intel.com>
    Date: 2016-07-14 13:56:22

    bitbake: build: don't use $B as the default cwd for functions

The result is that when we build with Krogoth or prior, the body
of do_generate_qt_config_file() runs with a cwd of ${B}, which was
_not_ the intent of efa8aaf. Because the working directory is ${B},
${OE_QMAKE_QTCONF_PATH} is written in there too. do_configure() --
whose cwd is by design also ${B} -- then finds the file 'foodummy',
and the build breaks for the reasons outlined in efa8aaf.

This change simply shifts the implementation tactics to suppress
the creation of ${OE_QMAKE_QTCONF_PATH} during qtbase rather than rely
on unspecified behavior about the cwd of do_generate_qt_config_file().

(cherry picked from commit a17ff281aa8d99f770b0a049cb798235005fb93e
at https://codereview.qt-project.org/yocto/meta-qt5.)
---
 recipes-qt/qt5/nativesdk-qtbase_git.bb | 2 +-
 recipes-qt/qt5/qtbase-native_git.bb    | 2 +-
 recipes-qt/qt5/qtbase_git.bb           | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/recipes-qt/qt5/nativesdk-qtbase_git.bb b/recipes-qt/qt5/nativesdk-qtbase_git.bb
index f2ff5f7..ffbb917 100644
--- a/recipes-qt/qt5/nativesdk-qtbase_git.bb
+++ b/recipes-qt/qt5/nativesdk-qtbase_git.bb
@@ -94,7 +94,7 @@ OE_QMAKE_PATH_HOST_LIBS = "${libdir}"
 
 # for qtbase configuration we need default settings
 # since we cannot set empty set filename to a not existent file
-export OE_QMAKE_QTCONF_PATH = "foodummy"
+deltask generate_qt_config_file
 
 do_configure() {
     ${S}/configure -v \
diff --git a/recipes-qt/qt5/qtbase-native_git.bb b/recipes-qt/qt5/qtbase-native_git.bb
index 98cbecc..0884a19 100644
--- a/recipes-qt/qt5/qtbase-native_git.bb
+++ b/recipes-qt/qt5/qtbase-native_git.bb
@@ -79,7 +79,7 @@ PACKAGECONFIG_CONFARGS = " \
 
 # for qtbase configuration we need default settings
 # since we cannot set empty set filename to a not existent file
-export OE_QMAKE_QTCONF_PATH = "foodummy"
+deltask generate_qt_config_file
 
 do_configure_prepend() {
     # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory"
diff --git a/recipes-qt/qt5/qtbase_git.bb b/recipes-qt/qt5/qtbase_git.bb
index 5cfbcfa..a2e8917 100644
--- a/recipes-qt/qt5/qtbase_git.bb
+++ b/recipes-qt/qt5/qtbase_git.bb
@@ -137,7 +137,7 @@ QT_CONFIG_FLAGS += " \
 
 # for qtbase configuration we need default settings
 # since we cannot set empty set filename to a not existent file
-export OE_QMAKE_QTCONF_PATH = "foodummy"
+deltask generate_qt_config_file
 
 do_configure() {
     # Avoid qmake error "Cannot read [...]/usr/lib/qt5/mkspecs/oe-device-extra.pri: No such file or directory" during configuration
-- 
2.12.0




More information about the Openembedded-devel mailing list