[oe] [meta-qt5][PATCHv2] Upgrade to Qt 5.8

Samuli Piippo samuli.piippo at gmail.com
Thu Nov 24 08:23:24 UTC 2016


On 23.11.2016 22:14, Martin Jansa wrote:
> On Wed, Nov 23, 2016 at 07:52:51PM +0100, Martin Jansa wrote:
>> On Wed, Nov 23, 2016 at 04:43:46PM +0100, Martin Jansa wrote:
>>> On Wed, Nov 23, 2016 at 04:29:41PM +0100, Martin Jansa wrote:
>>>> On Fri, Nov 18, 2016 at 09:48:54AM +0200, Samuli Piippo wrote:
>>>>> The linux-oe-g++ mkspec is changed to use $$(...) operator to obtain
>>>>> the contents of an environment value when qmake is run instead of when
>>>>> Makefile is processed. All OE_QMAKE_xxx variables need to be exported
>>>>> for qmake to find them. configure's setBootstrapVariable function needs
>>>>> to change $$(..) to normal $(...) operator to work with qmake's Makefile.
>>>>>
>>>>> qt.conf generation for qtbase recipes is not needed, as configure will
>>>>> generate its own version based on configure arguments. Skip running
>>>>> qmake, since configure is now automatically invoked when it's run in
>>>>> qtbase's root folder.
>>>>>
>>>>> Update PACKAGECONFIGs for qtbase to match current configure options.
>>>>>
>>>>> Merge the two qtwayland recipes to one that supports all three targets
>>>>> (target, native, nativesdk) without need for additional patch.
>>>>>
>>>>> Change-Id: Ib37c4d7323e8b45aa2b171e8427b6ec15aaee213
>>>>> Signed-off-by: Samuli Piippo <samuli.piippo at qt.io>
>>>>> ---
>>> ...
>>>>> diff --git a/recipes-qt/qt5/qt5-git.inc b/recipes-qt/qt5/qt5-git.inc
>>>>> index e1e25ba..a1dd16a 100644
>>>>> --- a/recipes-qt/qt5/qt5-git.inc
>>>>> +++ b/recipes-qt/qt5/qt5-git.inc
>>>>> @@ -2,7 +2,7 @@
>>>>>  # Copyright (C) 2013-2016 Martin Jansa <martin.jansa at gmail.com>
>>>>>
>>>>>  QT_MODULE ?= "${BPN}"
>>>>> -QT_MODULE_BRANCH ?= "5.7"
>>>>> +QT_MODULE_BRANCH ?= "5.8"
>>>>>  QT_MODULE_BRANCH_PARAM ?= "branch=${QT_MODULE_BRANCH}"
>>>>>
>>>>>  # each module needs to define valid SRCREV
>>>>> @@ -12,4 +12,4 @@ SRC_URI = " \
>>>>>
>>>>>  S = "${WORKDIR}/git"
>>>>>
>>>>> -PV = "5.7.0+git${SRCPV}"
>>>>> +PV = "5.8.0+git${SRCPV}"
>>>>
>>>> This version is wrong as 5.8.0 wasn't released yet (was it?), so this PV
>>>> shouldn't sort higher then 5.8.0 release.
>>>>
>>>> I'll change it to:
>>>> 5.7.99+5.8.0-beta+git${SRCPV}
>>>> like I did in previous releases.

Yes, it's still in beta stage.

>>>
>>> There is also some issue with qtwayland and qtenginio reported in:
>>> http://lists.openembedded.org/pipermail/openembedded-devel/2016-November/110021.html
>>>
>>> I'm trying to reproduce it with only oe-core+meta-qt5, because the qtwayland
>>> one might be caused by bbappend in meta-luneui, but qtenginio might be
>>> easier to reproduce.

Enginio examples are broken, as there are new checks in Qt 5.8.
Enginio is deprecated and won't be receiving much attention any more, 
but build can be fixed easily with:
EXTRA_QMAKEVARS_PRE += "CONFIG+=install_ok"

>>
>> Local build confirmed that qtwayland issue was caused by that bbappend,
>> but qtenginio error is still there and I've also noticed that with:
>>
>> PACKAGECONFIG_append_pn-qtbase = " icu gl accessibility directfb examples kms"
>> PACKAGECONFIG_remove_pn-qtbase = "gl"
>>
>> qtbase.do_compile fails with:
>> http://errors.yoctoproject.org/Errors/Details/107134/
>> and this configuration was working with 5.7 version, is directfb
>> unsupported now in 5.8 or does it just need some tweaks in qtbase
>> PACKAGECONFIGs?
>
> directfb_egl was introduced to qtConfig in:
>
> commit 60985aa42b37217fb4c01ed85bbf6f14410c3491
> Author: Lars Knoll <lars.knoll at qt.io>
> Date:   Fri Aug 5 13:35:39 2016 +0200
>
>     Use qtConfig throughout in qtbase
>
> ...
>
> index d4977bf..de0344f 100644
> --- a/src/plugins/platforms/directfb/directfb.pro
> +++ b/src/plugins/platforms/directfb/directfb.pro
> @@ -24,7 +24,7 @@ HEADERS = qdirectfbintegration.h \
>      qdirectfbeglhooks.h
>
>  # ### port the GL context
> -contains(QT_CONFIG, directfb_egl) {
> +qtConfig(directfb_egl) {
>      HEADERS += qdirectfb_egl.h
>      SOURCES += qdirectfb_egl.cpp
>      DEFINES += DIRECTFB_GL_EGL
>
>
> But there is no directfb_egl in src/gui/configure.json
>

I'm not sure what's the actual status of DirectFB within Qt is, but it's 
not actively developed or tested at all, and it's currently broken as 
you found out.
I created bug for Qt for this: https://bugreports.qt.io/browse/QTBUG-57306



More information about the Openembedded-devel mailing list